redis系列之--数据结构设计

redis系列之–数据结构设计


redis数据结构和常用操作
  • String -->语法格式:key value 可理解为{key:value}

    • 记录字符串/整数/浮点数
    • 命令
      • set 添加/修改数据
      • get 获取数据
      • mset 添加多个数据
      • mget 获取多个数据
      • incr 计数加1
      • decr 计数减1
      • incrby 计数加n
  • 键命令

    • 适用于所有的类型
    • 命令
      • del 删除数据
      • exists 判断数据是否存在
      • expire 设置过期时间
      • ttl 获取剩余时间
      • keys 查询满足条件的键
  • hash -->语法格式:key field1 value1 field2 value2 … 可理解为可以key:{ field1: value1, field2 :value2 …}

    • 类似字典的结构
    • 命令
      • hset 添加字段
      • hget 获取字段
      • hmset 添加多个字段
      • hmget 获取多个字段
      • hdel 删除字段
  • list -->语法格式:key value1 [value2, …] 可理解为key:[value1, value2, …]

    • 是一个双向链表
    • 命令
      • lpush 从左侧追加元素
      • lrange 从左侧遍历元素
      • rpush 从右侧追加元素
      • lset 从左侧修改元素
      • lpop 从左侧删除元素
      • rpop 从右侧删除元素
      • ltrim 裁切列表
  • zset -->语法格式:key score member [score member …] 可理解为key:{member1:score1, member2:score2, …}

    • 有序集合, 按照分数(score)进行排序
    • 命令
      • zadd 添加/修改元素
      • zrange 遍历元素(按分数从小到大)
      • zrevrange 反向遍历元素(从大到小)
      • zrangebyscore 遍历指定分数范围的元素
      • zscore 查询元素的分数
      • zrem 删除元素
      • zincrby 元素的分数计数加n
  • set -->语法格式:key member [member … 可理解为key:[member1, member2, …]

    • 无序集合 无序+去重

    • 命令

      • sadd 添加元素
      • smembers 遍历元素
      • sismember 判断是否包含
      • srem 删除元素
数据结构设计案例
新闻页面
  • 记录某条新闻的详细数据 hash
  • 记录新闻id string
  • 记录最新的100条新闻 list
  • 记录所有的新闻及点赞数 zset
  • 记录对某条新闻点赞的用户 set
from redis import Redis

# 创建redis客户端
# redis-py 3.0 之前需要使用 StrictRedis() 来建立数据库连接对象
# redis_client = StrictRedis(host='127.0.0.1', port=6379, db=0, decode_responses=True)
redis_client = Redis(decode_responses=True)


def release_news(title, content):
    """
    发布新闻
    :param title: 新闻标题
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值