首页 > 编程语言 > 详细

Python redis 常用方法

时间:2021-02-04 17:20:44      阅读:40      评论:0      收藏:0      [点我收藏+]
# key-value
r.set(‘food‘, ‘mutton‘, ex=3,nx= True)    # key是"food" value是"mutton" 将键值对存入redis缓存。
                         # 过期时间 :ex(秒)px(毫秒),过期后从redis中消失
                         # nx - 如果设置为True,则只有name不存在时。
r.get(‘food‘) # 从redis中获取keyr.setnx(name, value) # name不存在的时候执行


# hash
r.hset("hash1", "k1", "v1")
r.hset("hash1", "k2", "v2")
r.hkeys("hash1") # 取hash1中所有的key
r.hgetall(‘user‘) # 从redis中获取key的map值
r.hget("hash1", "k1")    # 单个取hash1的key对应的值
r.hmset(‘user‘,{"user_id": user_id, "username": username})   # 设置hash map
r.hmget("hash1", "k1", "k2") # 多个取hash的key对应的值
r.hmget("hash2", ["k2", "k3"])  # 批量取出"hash2"的key-k2 k3对应的value --方式
r.hsetnx("hash1", "k2", "v3") # 当name对应的hash中不存在当前key时则创建(相当于添加)
r.mset(k1="v1", k2="v2") # 这里k1 和k2 不能带引号 一次设置多个键值对
r.mget(‘k1‘, ‘k2‘) # 将目前redis缓存中的键对应的值批量取出来
r.mget([‘k1‘, ‘k2‘])
r.mget("fruit", "fruit1", "fruit2", "k1", "k2")

r.exists(‘food‘) # 检查是否存在key
r.expire(‘food‘, 2*60*60) # 设置key的过期时间,单位是秒。

# 追加
r.append("name", "haha")    # 在name对应的值junxi后面追加字符串haha

案例:
迁移redis
r = redis.Redis(host="118.24.3.XX",
password="HK139bXXX",
port=6379,db=0,
decode_responses=True)#0-15
r2 = redis.Redis(host="118.24.3.XX",
password="HK139bcXX",
port=6379,db=2,
decode_responses=True)#0-15

#1、获取所有的key
#2、判断key的类型
#3、根据key的类型来使用set或者hset

for key in r.keys():
if r.type(key) == "string":
value = r.get(key)
r2.set(key,value)
elif r.type(key) == "hash":
hash_all = r.hgetall(key)
for k,v in hash_all.items(): #循环hash类型里面所有的k-v
r2.hset(key,k,v)

Python redis 常用方法

原文:https://www.cnblogs.com/zhangmeiyan/p/14372730.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!