redis

python基操redis

2020-08-25  本文已影响0人  后山小鲨鱼
import redis

'''
**********************************************************基本操作*****
'''

# 添加一个新的值
r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.set("hello","xiaoxin")

# 添加一个新的值,已有则不添加
r.set("hello","xiaoxin2",nx=True)

# 把新的字符添加到已有的字符串后面
value = r.append("hello"," love you")

# 自增,自减
r.set("start",1)
value = r.incr("start",1)
# 结果示例:2
value = r.decr("start",1)
# 结果示例:1

# 获取值
value = r.get("hello")
# 结果示例:xiaoxin love you

# 查得所有key,对性能有影响,慎用
value = r.keys()
# 结果示例:['start', 'hello']
'''
**********************************************************************列表操作*****
'''
# 左插入
r.lpush("lpush","l1","l2","l3")


# 取列表的值
value2 = r.lrange("lpush",0,-1)
# 结果示例:['l3', 'l2', 'l1']

# 右插入
r.rpush("rpush", "r1", "r2", "r3")


# 批量添加数据
datas = ["listDemo1","listDemo2",1,2]
r.lpush("leftDatas",*datas)
# 结果示例:['2', '1', 'listDemo2', 'listDemo1']
r.rpush("rightDatas",*datas)
# 结果示例:['listDemo1', 'listDemo2', '1', '2']

# 列表长度
lenth = r.llen("rpush")
# 结果示例:3

# 弹出操作,弹出后会删除数据
r.lpop("leftDatas")
r.lrange("leftDatas",0,-1)
# 结果示例:['1', 'listDemo2', 'listDemo1']
r.rpop("leftDatas")
r.lrange("leftDatas",0,-1)
# 结果示例:['1', 'listDemo2']

# 修改列表数据
r.lset("leftDatas",0,6)
# 结果示例:['6', 'listDemo2']


'''
***************************************************集合 集合里面的数据不能重复,没有顺序*****
'''

# 向集合插入数据
r.sadd("set_demo","hello2")
datas = [1,2,"hello"]
r.sadd("set_demo",*datas)

# 查看集合的条数
value = r.scard("set_demo")
# 结果示例:4


# 随机弹出一条集合的数据,弹出后删除
value = r.spop("set_demo")
# 结果示例:hello


# 获取某个集合的全部数据
value = r.smembers("set_demo")
# 结果示例:{'1', 'hello2', '2'}


# 删除集合中的数据
value = r.srem('set_demo','hello2')

# 交集
datas = ["6","9","2"]
r.sadd("set_demo2",*datas)
value = r.sinter("set_demo","set_demo2")
# 结果示例:{'2'}

# 并集
value = r.sunion("set_demo","set_demo2")
# 结果示例:{'1', '9', '2', '6'}

# 差集
value = r.sdiff("set_demo","set_demo2")
# 结果示例:{'1'}
'''
******************************************************哈希表*****
'''
# 添加一个键值对
user_id = "10001"
r.hset('user_online_status',user_id,1)
# 添加多个键值对
data = {"10002":1,"10003":1,"10004":1}
r.hmset('user_online_status',data)

# 查看字段是否存在
r.hexists('user_online_status',user_id)

# 查看哈希表中有多少个字段
r.hlen('user_online_status')

# 查看哈希表中某个字段的值
value = r.hget("user_online_status","10001")
# 结果示例:1

# 查看哈希表中多个字段的值
value = r.hmget('user_online_status',["10001","10002"])
# 结果示例:['1', '1']


# 查看一个哈希表中的所有字段名和值
value = r.hgetall('user_online_status')
# 结果示例:{'10001': '1', '10002': '1', '10003': '1', '10004': '1'}
print(value)

# 查看哈希表的所有key
value = r.hkeys("user_online_status")
# 结果示例:['10001', '10002', '10003', '10004']
print(value)

# 删除
r.hdel('user_online_status',user_id)


上一篇下一篇

猜你喜欢

热点阅读