关于redis分页的两种分页解析以及功能运用 ---工作日志

redis有5种数据类型,分别是String,List,Hash,set,zset 。

5种数据类型显然支持分页排序的只有两种 List和zset。

1.使用List分页(不推荐):

  1.      使用命令:LPUSH 集合名字 值
    127.0.0.1:6379> lpush testList redis
    (integer) 1
    127.0.0.1:6379> lpush testList mongdb
    (integer) 2
    127.0.0.1:6379> lpush testList mysql
    (integer) 3
    127.0.0.1:6379> lpush testList postgresql
    (integer) 4
    127.0.0.1:6379> lpush testList orcale
    (integer) 5
    127.0.0.1:6379> lpush testList sqlLite
    (integer) 6
    127.0.0.1:6379> lpush testList sqlServer

    2.使用命令分页:lrange 集合名 开始 结束

    127.0.0.1:6379> lrange testList 0 2
    1) "sqlServer"
    2) "sqlLite"
    3) "orcale"

    3.获取集合中总条数:

    127.0.0.1:6379> llen testList
    (integer) 7
    127.0.0.1:6379> 

     

  2. 使用Zset进行分页:

    参考:https://www.jianshu.com/p/6e1c17ad410d

     

    1. 使用zadd 集合名字 key value

      127.0.0.1:6379> zadd test2 56 xyh
      (integer) 1
      127.0.0.1:6379> zadd test2 23 lt
      (integer) 1
      127.0.0.1:6379> zadd test2 32 lj
      (integer) 1
      127.0.0.1:6379> zadd test2 78 zhoumei

       

      2.使用zrevrange 命令进行分页:zrevrange 需要分页的集合名字 开始 结束

      127.0.0.1:6379> zrevrange test2 0 2
      1) "cha"
      2) "zhoumei"
      3) "xyh"

       3.获取zset集合中的长度。

      127.0.0.1:6379> zcard test2
      (integer) 11
      127.0.0.1:6379> 

       

    2.  

      业务

      1.  使用redis模糊查询:使用redis 模糊查询,建议还是使用String数据结构来使用。可以直接根据keys pattern 命令进行直接查询。使用举例(keys ‘*花*’)

      2. 使用redis全部查询份分页 :使用zset进行分页

      3. 使用redis模糊查询加分页

        1. 个人建议,这个还是用代码做吧。

          1. 提供下个人思路:

            1. 首先在设置zset Key 时就要考虑到条件。
            2. 一次性获取全部数据,存入集合,最好是有序链条,使用代码contains 方法判断条件是否包含在key中,不在key中就从集合中移除。
            3. 然后根据下标进行分页

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值