redis中关于scan命令的使用

概念

  • KEYS

    查找所有符合给定模式pattern的key // 需很谨慎使用,耗时长影响正常业务,线上禁用KEYS命令

  • SCAN

    用于增量地迭代获取key

语法

SCAN cursor [MATCH pattern] [COUNT count]

SSCAN、HSCAN、ZSCAN命令与之类似

示例

  • scan 0
  • scan 0 match item*
  • scan 0 match item* count 200
  • scan 128 match item* count 200

注意事项

  • scan的参数没有key,因为其迭代对象是DB内数据;
  • 返回值都是数组,第一个值都是下一次迭代游标;
  • 时间复杂度:每次请求都是O(1),完成所有迭代需要O(N),N是元素数量;
  • 可用版本:version >= 2.8.0;

参考

redis命令文档: http://doc.redisfans.com

原文地址:https://www.cnblogs.com/cdfive2018/p/12591349.html

时间: 2024-10-08 11:19:05

redis中关于scan命令的使用的相关文章

Redis中Set集合命令 阿星小栈

集合(Set)? 附录,常用集合运算: A = {'a', 'b', 'c'} B = {'a', 'e', 'i', 'o', 'u'} inter(x, y): 交集,在集合x和集合y中都存在的元素. inter(A, B) = {'a'} union(x, y): 并集,在集合x中或集合y中的元素,如果一个元素在x和y中都出现,那只记录一次即可. union(A,B) = {'a', 'b', 'c', 'e', 'i', 'o', 'u'} diff(x, y): 差集,在集合x中而不在

redis中setbit bitcount命令详解

bitmap,位图,即是使用bit. redis字符串是一个字节序列. 1 Byte = 8 bit SETBIT key offset value 设置或者清空key的value(字符串)在offset处的bit值. 那个位置的bit要么被设置,要么被清空,这个由value(只能是0或者1)来决定.当key不存在的时候,就创建一个新的字符串value.要确保这个字符串大到在offset处有bit值. offset 表示bit的位置数,从0开始计,1字节的bit数组最大为7 . SETBIT K

redis中键的生存时间(expire)

1.redis中可以使用expire命令设置一个键的生存时间,到时间后redis会自动删除它 expire 设置生存时间(单位/秒) pexpire 设置生存时间(单位/毫秒) ttl/pttl 查看键的剩余生存时间 persist 取消生存时间 expireat [key] unix时间戳1351858600 pexpireat [key] unix时间戳(毫秒)1351858700000 2.应用场景 限时的优惠活动 网站数据缓存(对于一些需要定时更新的数据) 限制网站访客访问频率(例如:1

Redis五种数据类型命令介绍(4)

1.string类型命令 设置值:set id 001 获取值:get id  删除键值:del id  验证键是否存在:exists id 显示所有的key:keys * incr .incrby指定增加多少.decr.decrby 指定减少多少 127.0.0.1:6379> set counter 1 OK 127.0.0.1:6379> incr counter (integer) 2 127.0.0.1:6379> incr counter (integer) 3 127.0.

【redis中键的生存时间(expire) 】

1.redis中可以使用expire命令设置一个键的生存时间,到时间后redis会自动删除它 expire      设置生存时间(单位/秒) pexpire    设置生存时间(单位/毫秒) ttl/pttl     查看键的剩余生存时间 persist     取消生存时间 expireat [key] unix时间戳1351858600 pexpireat [key] unix时间戳(毫秒)1351858700000 2.应用场景 限时的优惠活动 网站数据缓存(对于一些需要定时更新的数据)

Redis Scan命令

原地址:https://www.cnblogs.com/tekkaman/p/4887293.html [Redis Scan命令] SCAN cursor [MATCH pattern] [COUNT count] SCAN 命令及其相关的 SSCAN 命令. HSCAN 命令和 ZSCAN 命令都用于增量地迭代(incrementally iterate)一集元素(a collection of elements): SCAN 命令用于迭代当前数据库中的数据库键. SSCAN 命令用于迭代集

辛星浅析Redis中与key有关的命令

在Redis中,我们还可以直接对key直接操作,下面是我们常用的主要命令: (1)keypattern   它表示获取所有匹配pattern的keys,这里需要注意的是,我们应该避免使用该命令,因为对于大型数据库而言,该命令非常耗时,对Redis服务器的性能打击也是比较大的.它支持glob-style的通配符格式,比如用*表示任意一个或者多个字符,用?表示任意字符,用[xyz]表示方括号中的任意一个字母. (2)del   key ....   它是从数据库中删除参数中指定的keys,如果指定的

Redis中有序集合的常用命令有哪些?

本文和大家分享的主要是redis 中有序集合类型的常用命令,一起来看看吧,希望对大家 学习redis有所帮助. 一.有序集合类型 有序集合类型,大家从名字上应该就可以知道,实际上就是在集合类型上加了个有序而已.Redis 中的有序集合类型,实际上是在集合类型上,为每个元素都关联一个分数,有序实际上说的是分数有序,我们根据分数的范围获取集合及其他操作.集合的元素依然是不能够相同的,但是分数可以相同. 下面列举有序集合和类型和列表类型的相似处: ① 两者都是有序的(废话!) ② 两者都可以获得某一范

Redis中的数据结构与常用命令

开发系统:Ubuntu 17.04Redis驱动:StackExchange.Redis 1.2.3Redis版本:3.2.1开发平台:.NET Core 对于Redis的介绍这里只写一句:Redis是一种基于内存的高性能非关系型数据库,它以kye-value的形式来存储数据. 5种数据结构 Redis中包含5种数据类型:STRING.LIST.SET.HASH.ZSET. Redis中的5中数据结构(截图出自<Redis in Action>): Redis以key-value形式存储数据,