redis使用---python中

一、介绍

redis 是一个NoSQL, 以 key、value形式存在、是基于内存,读写速度快,可持久化

二、数据类型

string --- 字符串
list --- 列表
hash --- 哈希  =》排行
set --- 集合
sortedset --- 有序集合  =》商品列表
bitmap --- 位图
1、字符串 string
  • set(name, value) 创建数据
redis_conn.set('username', 'zhangsan')
  • get(name) 获取数据
print(redis_conn.get('username').decode())   # 'zhangsan
  • setex(name, time, value) 创建一个带有时间效果的key
redis_conn.setex('age', 10, 18)
print(redis_conn.get('age'))   # b'18'
time.sleep(11)
print(redis_conn.get('age'))   # None
  • incr(name, amount) 增量, amount默认是1, 没有name会自动创建,有name自动+1
redis_conn.incr('number')
print(redis_conn.get('number'))
2、哈希 hash
  • hset(name, key, value)
  • hget(name, key) 获取name及key 对应的值
  • hgetall(name) 获取当前name下的所有 key和value
  • redis_conn.hincrby(name, key, amount) 哈希自增,没有name和key自动创建,否则自增+amount
  • redis_conn.hdel(name, key) 删除 name及key对应的数据
"""
使用hash类型做购物车
     user_id、goods_id、goods_num
 """
# user1 = '1'
# goods_id1 = '1'
# goods_num1 = 2
# goods_id2 = '2'
# goods_num2 = 3
#
# redis_conn.hset(user1, goods_id1, goods_num1)
# redis_conn.hset(user1, goods_id2, goods_num2)
#
# print(redis_conn.hgetall(user1))  # {b'1': b'2', b'2': b'3'}
# redis_conn.hdel(user1, goods_id1)
# print(redis_conn.hgetall(user1))   # {b'2': b'3'}
3、有序集合 sortedset
  • zincrby(name, amount, value) 自增
  • zrange(name, start, end, withscores=True) 排序获取数据
# redis_conn.zincrby('goods_rank', 2, 'iphone')
# redis_conn.zincrby('goods_rank', 3, 'huawei')
# redis_conn.zincrby('goods_rank', 5, 'oppo')

goods_rank = redis_conn.zrange('goods_rank', 0, -1, withscores=True)
print(goods_rank)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值