Python操作Redis
首先先安装redis
下载python的redis库
使用redis
# 导入redis库
from redis import StrictRedis
# 连接redis并返回对象
redis = StrictRedis(host='localhost',port=6379,db=0,password=None)
1.字符串操作
redis.set("age",123)
print(redis.get("age"))
redis.set('name','Bob')
print(redis.get('name'))
print(redis.getset('name','Mike')) #赋值name为Mike并返回上一次的value
print(redis.mget(['name','age'])) #输出name键和age键的value
print(redis.setnx('newname','james')) #如果键值不存在,则赋值
print(redis.mset({'name1':'smith','name2':'curry'})) #批量赋值
print(redis.msetnx({'name3':'ltf','name4':'lsq'})) #不存在才批量赋值
print(redis.incr('age',1)) #age对应的value 加1
print(redis.decr('age',5)) #age对应的value 减5
print(redis.append('name4','is a sb')) #在name4的value后追加 is a sb 返回字符串长度
print(redis.substr('name',1,4)) #截取键 name
结果如下
F:\code\python\1\venv\Scripts\python.exe F:/code/python/1/redisTest.py
b'123'
b'Bob'
b'Bob'
[b'Mike', b'123']
True
True
True
124
119
10
b'ike'
Process finished with exit code 0
2.集合操作
from redis import StrictRedis
redis = StrictRedis(host='localhost',port=6379,db=0,password=None)
print(redis.sadd('tags','Book','Tea','Coffee')) #返回集合长度 3
print(redis.srem('tags','Book')) #返回删除的数据个数
print(redis.spop('tags')) #随机删除并返回该元素
print(redis.smove('tags','tags1','Coffee'))
print(redis.scard('tags')) # 获取tags集合的元素个数
print(redis.sismember('tags', 'Book')) # 判断Book是否在tags的集合中
print(redis.sinter('tags', 'tags1')) # 返回集合tags和集合tags1的交集
print(redis.sunion('tags', 'tags1')) # 返回集合tags和集合tags1的并集
print(redis.sdiff('tags', 'tags1')) # 返回集合tags和集合tags1的差集
print(redis.smembers('tags')) # 返回集合tags的所有元素
结果如下
F:\code\python\1\venv\Scripts\python.exe F:/code/python/1/redisTest.py
3
1
b'Tea'
True
0
False
set()
{b'Coffee'}
set()
set()
Process finished with exit code 0
3.哈希操作
from redis import StrictRedis
redis = StrictRedis(host='localhost',port=6379,db=0,password=None)
print(redis.hset('price','cake',5)) # 向键名为price的散列表添加映射关系,返回1 即添加的映射个数
print(redis.hsetnx('price','book',6)) # 向键名为price的散列表添加映射关系,返回1 即添加的映射个数
print(redis.hget('price', 'cake')) # 获取键名为cake的值 返回5
print(redis.hmset('price',{'banana':2,'apple':3,'pear':6,'orange':7})) #批量添加映射
print(redis.hmget('price', ['apple', 'orange'])) # 查询apple和orange的值 输出 b'3',b'7'
print(redis.hincrby('price','apple',3)) #apple映射加3 为6
print(redis.hexists('price', 'banana')) # 在price中banana是否存在 返回True
print(redis.hdel('price','banana')) #从price中删除banana 返回1
print(redis.hlen('price')) # 输出price的长度
print(redis.hkeys('price')) # 输出所有的映射键名
print(redis.hvals('price')) # 输出所有的映射键值
print(redis.hgetall('price')) # 输出所有的映射键对
结果如下:
F:\code\python\1\venv\Scripts\python.exe F:/code/python/1/redisTest.py
1
1
b'5'
True
[b'3', b'7']
6
True
1
5
[b'cake', b'book', b'apple', b'pear', b'orange']
[b'5', b'6', b'6', b'6', b'7']
{b'cake': b'5', b'book': b'6', b'apple': b'6', b'pear': b'6', b'orange': b'7'}
Process finished with exit code 0
本文参考:https://blog.csdn.net/ltf201834/article/details/84975724