python操作redis
2020-12-13 04:15
标签:提高效率 -- pen water end 子序列 ict 思维 code 安装 方式一:根据数据类型的不同,调用相应的方法,完成读写 方式二:pipline import redis pool = redis.ConnectionPool(host=‘localhost‘, port=6379, decode_responses=True) # r.set(‘food‘,‘mutton‘, ex=30) # print(r.set(‘fruit‘, ‘watermelon‘, nx=True)) # print((r.set(‘fruit‘, ‘watermelon‘, xx=True))) # r.mget({‘k1‘:‘v1‘, ‘k2‘:‘v2‘}) # 设置新值并获取原来的值 #获取子序列(根据字节获取,非字符) r.set("en_name", "junxi") #修改字符串内容,从指定字符串索引开始向后替换(新值太长时,则向后添加) #对name对应值的二进制表示的位进行操作 import redis #单个增加--修改(单个取出)--没有就新增,有的话就修改 print(r.hkeys("hash1")) #批量增加(取出) print("批量增加:-----------------------") print(r.hget("hash2", "k2")) # 取出所有的键值对 # 得到所有键值对的格式 hash长度 # 得到所有的keys(类似字典的取所有keys) #得到所有的value #判断成员是否存在(类似字典的in) #删除键值对 #自增自减整数 #取值查看--分片读取 #利用yield封装hscan创建生成器 print(r.hscan_iter("hash1")) import redis #增加(类似于list的append,只是这里是从左边新增加) #增加(从右边增加)--没有就新建 #往已经有的name的列表的右边添加元素 #新增 #删除 python操作redis 标签:提高效率 -- pen water end 子序列 ict 思维 code 原文地址:https://www.cnblogs.com/ldsice/p/11106431.html
pip install redis
引入模块
import redis
连接
try:
r=redis.StrictRedis(host=‘localhost‘,port=6379)
except Exception,e:
print e.message
更多方法同前面学的命令
r.set(‘name‘,‘hello‘)
r.get(‘name‘)
缓冲多条命令,然后一次性执行,减少服务器-客户端之间TCP数据库包,从而提高效率
pipe = r.pipeline()
pipe.set(‘name‘, ‘world‘)
pipe.get(‘name‘)
pipe.execute()
# set(name, value, ex=None, px=None, nx=False, xx=False)
# 在Redis中设置值,默认,不存在则创建,存在则修改
# 参数:
# ex,过期时间(秒)
# px,过期时间(毫秒)
# nx,如果设置为True,则只有name不存在时,当前set操作才执行
# xx,如果设置为True,则只有name存在时,当前set操作才执行
import time
r = redis.Redis(connection_pool=pool)
# print(r.get(‘food‘))
# r.setex("fruit2", 5, "orange")
# time.sleep(5)
# print(r.get("fruit2"))
# r.mset(k1="v1", k2="v2")
# print(r.mget("k1", "k2"))
# print(r.mget("k1"))
# print(r.getset("food", "aa"))
r.set("cn_name", "峻熙大大")
print(r.getrange("cn_name", 0, 2))
print(r.getrange("cn_name", 0, -1))
print(r.getrange("en_name", 0, 2))
print(r.getrange("en_name", 0, -1))
r.setrange("en_name", 1, "ccc")
print(r.get("en_name"))
source = "陈思维"
source = "foo"
for i in source:
num = ord(i)
print(bin(num).replace(‘b‘, ‘‘))
import time
pool = redis.ConnectionPool(host=‘localhost‘, port = 6379, decode_responses=True)
r = redis.Redis(connection_pool=pool)
r.hset("hash1", "k1", "v1")
r.hset("hash1", "k2", "v2")
print(r.hget("hash1", "k1"))
print(r.hmget("hash1", "k1", "k2"))
r.hsetnx("hash1", "k2", "v3")
print(r.hget("hash1", "k2"))
r.hmset("hash2", {"k2":"v2", "k3": "v3"})
print(r.hmget("hash2", "k2", "k3"))
print(r.hmget("hash2", ["k2", "k3"]))
print("取出所有的键值对:-----------------")
print(r.hgetall("hash1"))
print("得到所有键值对的格式 hash长度------")
print(r.hlen("hash1"))
print("得到所有的keys--------------------")
print(r.hkeys("hash1"))
print("得到所有的value--------------------")
print(r.hvals("hash1"))
print("判断成员是否存在--------------------")
print(r.hexists("hash1", "k4"))
print(r.hexists("hash1", "k1"))
print("删除键值对--------------------------")
print(r.hgetall("hash1"))
r.hset("hash1", "k2", "v222")
r.hset("hash1", "k11", "v1")
r.hdel("hash1", "k1")
print(r.hgetall("hash1"))
print("自增自减整数--------------------------")
r.hset("hash1", "k3", 123)
r.hincrby("hash1", "k3", amount=-1)
print(r.hgetall("hash1"))
r.hincrby("hash1", "k4", amount=1)
print(r.hgetall("hash1"))
print("取值查看--分片读取----------------------")
print(r.hscan("hash1"))
print("利用yield封装hscan创建生成器")
for item in r.hscan_iter(‘hash1‘):
print(item)
pool = redis.ConnectionPool(host=‘localhost‘, port = 6379, decode_responses=True)
r = redis.Redis(connection_pool=pool)
# print("增加(类似于list的append,只是这里是从左边新增加)")
# r.lpush("list1", 11, 22, 33)
# print(r.lrange(‘list1‘, 0, -1))
# print("增加(从右边增加)--没有就新建")
# r.rpush("list2", 11, 22, 33)
# print(r.llen("list2"))
# print(r.lrange("list2", 0, 3))
#往已经有的name的列表的左边添加元素
# print("往已经有的name的列表的左边添加元素")
# r.lpushx("list10", 10)
# print(r.llen("list10"))
# print(r.lrange("list10", 0, -1))
#
# r.lpush("list2", 77)
# print(r.llen("list2"))
# print(r.lrange("list2", 0, -1))
# r.rpushx("list10", 10)
# print(r.llen("list10"))
# print(r.lrange("list10", 0, -1))
#
# r.lpushx("list2", 77)
# print(r.llen("list2"))
# print(r.lrange("lsit2", 0, -1))
# print("新增")
#
# r.linsert("list2", "before", "11", "00")
# print(r.lrange("list2", 0, -1))
#
# r.lset("list2", 0, -11)
# print(r.lrange("list2", 0, -1))
print("删除")
r.lrem("list2", "-11", 1)
print(r.lrange("list2", 0, -1))