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

posted @ 2019-01-02 08:21  墨小枫233  阅读(505)  评论(0编辑  收藏  举报