redis操作 + python连接redis(StrictRedis)

  1. 安装Redis包(单机版)有3种方式 https://github.com/andymccurdy/redis-py

1.1:进⼊虚拟环境py_django,联⽹安装包redis (推荐)
pip3 install redis

1.2:进⼊虚拟环境py_django,联⽹安装包redis
easy_install redis

1.3:到中⽂官⽹-客户端下载redis包的源码,使⽤源码安装
一步步执行

wget https://github.com/andymccurdy/redis-py/archive/master.zip
unzip master.zip
cd redis-py-master
sudo python setup.py install
  1. demo.py(操作redis,StrictRedis):
from redis import StrictRedis
 
if __name__=="__main__":
    try:
        
        # 创建StrictRedis对象,与redis服务器建⽴连接
        # sr = StrictRedis(host='localhost', port=6379, db=0)  # 用默认值创建StrictRedis对象。 db=0,表示用第一个数据库(redis中默认有16个数据库)
        sr = StrictRedis()  # 默认值可以省略。
 
        # 添加键name,值为张三 (键name不存在就是添加;已存在就是修改)
        result = sr.set('name','张三')  # 返回Boolean值。 操作成功返回True,否则返回False
 
        # 获取键name的值
        result = sr.get('name')  # 返回键的值,如果键不存在则返回None
        
        # 删除键name及对应的值 (可以传多个参数,表示删除多个键)
        result = sr.delete('name')  # 如果删除成功则返回受影响的键数,否则返回0
        
        # 获取所有的键
        result = sr.keys()  # 返回所有键构成的列表,没有键就返回空列表。
 
    except Exception as e:
        print(e)
  1. StrictRedis对象常见的方法如下:
  • string(字符串类型)
  • keys(键的操作)
  • hash(哈希表类型)
  • list(列表类型)
  • set(集合类型,元素不能重复)
  • zset(有序集合类型,根据权重排序)
    keysstringhashlistsetzset
    existssethsetlpushsaddzadd
    typesetexhmsetrpushsmemberszrange
    deletemsethkeyslinsertsremzangebyscore
    expireappendhvalslrangezscore
    getrangegethgetlsetzrem
    ttlmgethmgetlremzremrangebyscore
    keyhdel
  1. pipeline一次执行多条语句(类似事务)

    demo.py(redis,pipeline):

from redis import StrictRedis
 
if __name__ == "__main__":
    try:
 
        # 创建StrictRedis对象,与redis服务器建⽴连接
        sr = StrictRedis(host='localhost', port=6379, db=0)
 
        # 创建redis管道对象,可以一次执行多个语句 (类似事务)
        pipeline = sr.pipeline()
    
        # 开启多个语句的记录
        pipeline.multi()
    
        pipeline.hset("user", "name", "张三")
        pipeline.expire("user", 3600)  # 多条redis操作语句
    
        # 执行语句 (类似提交事务)
        pipeline.execute()
        
 
    except Exception as e:
        print(e)
posted @ 2020-01-30 02:33  yblackd  阅读(202)  评论(0编辑  收藏  举报