美文网首页
redis的多API支持(python为例)

redis的多API支持(python为例)

作者: 火鸡不肥 | 来源:发表于2019-03-07 18:02 被阅读0次
    tar xf Python-3.5.2.tar.xz 
    cd  Python-3.5.2
    ./configure
    make && make install
    
    https://redis.io/clients
    
    下载redis-py-master.zip
    
    安装驱动:
    unzip redis-py-master.zip
    cd redis-py-master
    python3 setup.py install
    
    安装redis-cluser的客户端程序
    cd redis-py-cluster-unstable
    python3 setup.py install
    
    

    1. 对redis的单实例进行连接操作

    python3
    >>>import redis
    >>>r = redis.StrictRedis(host='10.0.0.200', port=6379, db=0,password='123')
    >>>r.set('foo', 'bar')
    True
    >>>r.get('foo')
    'bar'
    
    

    2. sentinel集群连接并操作

    redis-sentinel集群: https://www.jianshu.com/p/a6540539eaa8

    [root@db01 ~]# redis-server /data/6380/redis.conf
    [root@db01 ~]# redis-server /data/6381/redis.conf
    [root@db01 ~]# redis-server /data/6382/redis.conf 
    [root@db01 ~]# redis-sentinel /data/26380/sentinel.conf &
    
    导入redis sentinel包
    >>>from redis.sentinel import Sentinel 
    
    sentinel的地址和端口号
    >>> sentinel = Sentinel([('localhost', 26380)], socket_timeout=0.1)  
    
    测试,获取以下主库和从库的信息
    >>> sentinel.discover_master('mymaster')  
    >>> sentinel.discover_slaves('mymaster')  
    
    配置读写分离
    写节点
    >>> master = sentinel.master_for('mymaster', socket_timeout=0.1,password="123")  
    读节点
    >>> slave = sentinel.slave_for('mymaster', socket_timeout=0.1,password="123")  
    读写分离测试    
    >>> master.set('oldboy', '123')  
    >>> slave.get('oldboy')  
    '123'
    
    ----------------------
    redis cluster的连接并操作(python2.7.2以上版本才支持redis cluster,我们选择的是3.5)
    https://github.com/Grokzen/redis-py-cluster
    
    

    3. python连接redis cluster集群测试

    redis-cluster集群: https://www.jianshu.com/p/e3e5fba594ed

    python3
    >>> from rediscluster import StrictRedisCluster  
    >>> startup_nodes = [{"host": "127.0.0.1", "port": "7000"},{"host": "127.0.0.1", "port": "7001"},{"host": "127.0.0.1", "port": "7002"}]  
    ### Note: decode_responses must be set to True when used with python3  
    >>> rc = StrictRedisCluster(startup_nodes=startup_nodes, decode_responses=True)  
    >>> rc.set("foo0000", "bar0000")  
    True  
    >>> print(rc.get("foo0000"))  
    'bar'
    
    

    相关文章

      网友评论

          本文标题:redis的多API支持(python为例)

          本文链接:https://www.haomeiwen.com/subject/lishpqtx.html