redis release note 与 redis命令cheatsheet
01 Jan 2019
|
|
redis release note
redis版本 | 功能点 | |
---|---|---|
2.6 | Lua脚本支持 | |
2.6 | 新增PEXIRE、PTTL、PSETEX过期设置命令,key过期时间可以设置为毫秒级 | |
2.6 | 新增位操作命令:BITCOUNT、BITOP | |
2.6 | 新增命令:dump、restore,即序列化与反序列化操作 | |
2.6 | 新增命令:INCRBYFLOAT、HINCRBYFLOAT,用于对值进行浮点数的加减操作 | |
2.6 | 新增命令:MIGRATE,用于将key原子性地从当前实例传送到目标实例的指定数据库上 | |
2.6 | 放开了对客户端的连接数限制 | |
2.6 | hash函数种子随机化,有效防止碰撞 | |
2.6 | SHUTDOWN命令添加SAVE和NOSAVE两个参数,分别用于指定SHUTDOWN时用不用执行写RDB的操作 | |
2.6 | 虚拟内存Virtual Memory相关代码全部去掉 | |
2.6 | sort命令会拒绝无法转换成数字的数据模型元素进行排序 | |
2.6 | 不同客户端输出缓冲区分级,比如普通客户端、slave机器、pubsub客户端,可以分别控制对它们的输出缓冲区大小 | |
2.6 | 更多的增量过期(减少阻塞)的过期key收集算法 ,当非常多的key在同一时间失效的时候,意味着redis可以提高响应的速度 | |
2.6 | 底层数据结构优化,提高存储大数据时的性能 | |
2.8 | 引入PSYNC,主从可以增量同步,这样当主从链接短时间中断恢复后,无需做完整的RDB完全同步 | |
2.8 | 从显式ping主,主可以扫描到可能超时的从 | |
2.8 | 新增命令:SCAN、SSCAN、HSCAN和ZSCAN | |
2.8 | crash的时候自动内存检查 | |
2.8 | 新增键空间通知功能,客户端可以通过订阅/发布机制,接收改动了redis指定数据集的事件 | |
2.8 | 可绑定多个IP地址 | |
2.8 | 可通过CONFIGSET设置客户端最大连接数 | |
2.8 | 新增CONFIGREWRITE命令,可以直接把CONFIGSET的配置修改到redis.conf里 | |
2.8 | 新增pubsub命令,可查看pub/sub相关状态 | |
2.8 | 支持引用字符串,如set ‘foo bar’ “hello world\n” | |
2.8 | 新增redis master-slave集群高可用解决方案(Redis-Sentinel) | |
2.8 | 当使用SLAVEOF命令时日志会记录下新的主机 | |
3.0 | 实现了分布式的Redis即Redis Cluster,从而做到了对集群的支持 | |
3.0 | 全新的”embedded string”对象编码方式,从而实现了更少的缓存丢失和性能的提升 | |
3.0 | 大幅优化LRU近似算法的性能 | |
3.0 | 新增CLIENT PAUSE命令,可以在指定时间内停止处理客户端请求 | |
3.0 | 新增WAIT命令,可以阻塞当前客户端,直到所有以前的写命令都成功传输并和指定的slaves确认 | |
3.0 | AOF重写过程中的”last write”操作降低了AOF child -> parent数据传输的延迟 | |
3.0 | 实现了对MIGRATE连接缓存的支持,从而大幅提升key迁移的性能 | |
3.0 | 为MIGRATE命令新增参数:copy和replace,copy不移除源实例上的key,replace替换目标实例上已存在的key | |
3.0 | 提高了BITCOUNT、INCR操作的性能 | |
3.0 | 调整Redis日志格式 | |
3.2 | 新增对GEO(地理位置)功能的支持 | |
3.2 | 新增Lua脚本远程debug功能 | |
3.2 | SDS相关的优化,提高redis性能 | |
3.2 | 修改Jemalloc相关代码,提高redis内存使用效率 | |
3.2 | 提高了主从redis之间关于过期key的一致性 | |
3.2 | 支持利用upstart和systemd管理redis进程 | |
3.2 | 将list底层数据结构类型修改为quicklist,在内存占用和RDB文件大小方面有极大的提升 | |
3.2 | SPOP命令新增count参数,可控制随机删除元素的个数 | |
3.2 | 支持为RDB文件增加辅助字段,比如创建日期,版本号等,新版本可以兼容老版本RDB文件,反之不行 | |
3.2 | 通过调整哈希表大小的操作码RDB_OPCODE_RESIZEDB,redis可以更快得读RDB文件 | |
3.2 | 新增HSTRLEN命令,返回hash数据类型的value长度 | |
3.2 | 提供了一个基于流水线的MIGRATE命令,极大提升了命令执行速度 | |
3.2 | redis-trib.rb中实现将slot进行负载均衡的功能 | |
3.2 | 改进了从机迁移的功能 | |
3.2 | 改进redis sentine高可用方案,使之可以更方便地监控多个redis主从集群 | |
4.0 | 加入模块系统,用户可以自己编写代码来扩展和实现redis本身不具备的功能,它与redis内核完全分离,互不干扰 | |
4.0 | 优化了PSYNC主从复制策略,使之效率更高 | |
4.0 | 为DEL、FLUSHDB、FLUSHALL命令提供非阻塞选项,可以将这些删除操作放在单独线程中执行,从而尽可能地避免服务器阻塞 | |
4.0 | 新增SWAPDB命令,可以将同一redis实例指定的两个数据库互换 | |
4.0 | 新增RDB-AOF持久化格式,开启后,AOF重写产生的文件将同时包含RDB格式的内容和AOF格式的内容,其中 RDB格式的内容用于记录已有的数据,而AOF格式的内存则用于记录最近发生了变化的数据 | |
4.0 | 新增MEMORY内存命令,可以用于查看某个key的内存使用、查看整体内存使用细节、申请释放内存、深入查看内存分配器内部状态等功能 | |
4.0 | 兼容NAT和Docker | |
5.0 | 新的流数据类型(Stream data type) https://redis.io/topics/streams-intro | |
5.0 | 新的 Redis 模块 API:定时器、集群和字典 API(Timers, Cluster and Dictionary APIs) | |
5.0 | RDB 现在可存储 LFU 和 LRU 信息 | |
5.0 | redis-cli 中的集群管理器从 Ruby (redis-trib.rb) 移植到了 C 语言代码。 | 执行 redis-cli –cluster help 命令以了解更多信息 |
5.0 | 新的有序集合(sorted set)命令:ZPOPMIN/MAX 和阻塞变体(blocking variants) | |
5.0 | 升级 Active defragmentation 至 v2 版本 | |
5.0 | 增强 HyperLogLog 的实现 | |
5.0 | 更好的内存统计报告 | |
5.0 | 许多包含子命令的命令现在都有一个 HELP 子命令 | |
5.0 | 客户端频繁连接和断开连接时,性能表现更好 | |
5.0 | 许多错误修复和其他方面的改进 | |
5.0 | 升级 Jemalloc 至 5.1 版本 | |
5.0 | 引入 CLIENT UNBLOCK 和 CLIENT ID | |
5.0 | 新增 LOLWUT 命令 http://antirez.com/news/123 | |
5.0 | 在不存在需要保持向后兼容性的地方,弃用 “slave” 术语 | |
5.0 | 网络层中的差异优化 | |
5.0 | Lua 相关的改进:将 Lua 脚本更好地传播到 replicas / AOF, Lua 脚本现在可以超时并在副本中进入 -BUSY 状态 | |
5.0 | 引入动态的 HZ(Dynamic HZ) 以平衡空闲 CPU 使用率和响应性 | |
5.0 | 对 Redis 核心代码进行了重构并在许多方面进行了改进 |
redis cheatsheet
命令 | 版本 | 复杂度 | 可选 | 返回值 |
---|---|---|---|---|
SET | 1.0 | O1 | 2.6.12后增加EX PX NX XX | 2.6.12永远回复ok,之后如果有NX XX导致的失败,NULL Bulk Reply |
SETNX | 1.0 | O(1) | 1/0 | |
SETEX | 2.0 | O(1) | set +expire 院子 | ok |
PSETEX | 2.6 | O(1) | s时间单位毫秒 | ok |
GET | 1.0 | O(1) | value/nil/特定的错误字符串 | |
GETSET | 1.0 | O(1) | value/nil/特定的错误字符串 | |
STRLEN | 2.2 | O(1) | 不存在返回0 | |
APPEND | 2.0 | 平摊O(1) | 返回长度 | |
SETRANGE | 2.2 | 如果本身字符串短。平摊O(1),否则为O(len(value)) | 如果字符串长会阻塞(?不是inplace?) | 返回长度 |
GETRANGE | 2.4 | O(N)N为返回字符串的长度 | 2.0以前是SUBSTR | 子串 |
INCR | 1.0 | O(1) | 返回+1之后的值字符串,如果不是数字,会报错(error) ERR value is not an integer or out of range | |
INCRBY | 1.0 | O(1) | 负数也可以。 | 返回增量之后的值字符串 |
INCRBYFLOAT | 2.6 | O(1) | 返回增量之后的值字符串 | |
DECR | 1.0 | O(1) | 返回-1之后的值字符串 | |
DECRBY | 1.0 | O(1) | 返回减法操作之后的值字符串 | |
MSET | 1.0.1 | O(N) N为键个数 | multiple set,原子性 | |
MSETNX | 1.0.1 | O(N) N为键个数 | 都不存在则进行操作,否则都不操作。 | |
MGET | 1.0.0 | O(N) N为键个数 | 如果有不存在的键,返回nil | |
SETBIT | 2.2 | O(1) | offset 参数必须大于或等于 0 ,小于 2^32 (bit 映射被限制在 512 MB 之内) |
该位原来的值 |
GETBIT | 2.2 | O(1) | ||
BITCOUNT | 2.6 | O(N) | ||
BITPOS | 2.8.7 | O(N) | ||
BITOP | 2.6 | O(N) | ||
BITFIELD | 3.2 | O(1) | ?这个命令的需求? | |
HSET | 2.0 | O(1) | 新的值返回1 覆盖了返回0 | |
HSETNX | 2.0 | O(1) | 设置成功返回1,已经存在放弃执行返回0 | |
HGET | 2.0 | O(1) | 不存在返回nil | |
HEXISTS | 2.0 | O(1) | 字段存在返回1不存在返回0 | |
HDEL | 2.0 | O(N) N为删除的字段个数 | 2.4之前只能一个字段一个字段的删除,如果要求原子需要MULTI+EXEC,后续版本支持多字段删除 | 被成功移除的字段数量 (<=N) |
HLEN | 2.0 | O(1) | 返回字段数量,不存在返回0 | |
HSTRLEN | 3.2 | O(1) | 类似STRLEN,操作哈希表的字段 | 返回字段关联的值的字符串长度 |
HINCRBY | 2.0 | O(1) | 类似INCRBY,操作哈希表的字段 | |
HINCRBYFLOAT | 2.6 | O(1) | 类似INCRBYFLOAT | |
HMSET | 2.0 | O(N) N为filed-value数量 | 类似MSET 能不能用在集群? | OK |
HMGET | 2.0 | O(N) | 类似MGET 能不能用在集群? | 不存在的字段返回nil |
HKEYS | 2.0 | O(N)N为哈希表大小? | 返回所有字段的一个表(list or set)不存在返回空表 | |
HVALS | 2.0 | O(N) | 返回所有字段对应的值的表 | |
HGETALL | 2.0 | O(N) | 返回字段和值的表,奇数字段偶数值 | |
HSCAN | 2.0 | O(N)? | 类似SCAN | |
LPUSH | 1.0 | O(1) | 2.4以前只接受单个值,之后接受多个值。 | 返回列表长度 |
LPUSHX | 2.2 | O(1) | key不存在什么也不做 | 返回长度,不存在返回0 |
RPUSH | 1.0 | O(1) | 2.4以前只接受单个值 | |
RPUSHX | 2.2 | O(1) | ||
LPOP | 1.0 | O(1) | 不存在返回nil | |
RPOP | 1.0 | O(1) | 不存在返回nil | |
RPOPLPUSH | 1.2 | O(1) | 原子的,原地址右边弹出目的地址左边插入。如果源地址目的地址相同就是旋转列表,可以实现循环列表 | 返回弹出元素,不存在就是nil |
LREM | 1.0 | O(N) | LREM key count value 移除与value相等的count个值,0表示所有,负数从右向左正数从左向右 | 被移除的数量。 |
LLEN | 1.0 | O(1) | 返回列表长度 | |
LINDEX | 1.0 | O(N) N为遍历到index经过的数量 | 为啥不叫LGET,怕使用者漏了index参数吗?参数和GET系命令不一致做个区分? | 返回下表为index的值,不存在返回nil |
LINSERT | 2.2 | O(N) N 为寻找目标值经过的值 | 返回成功后列表的长度。如果没找到目标值pivot,返回-1,不存在或空列表返回0 | |
LSET | 1.0 | O(N) N为遍历到index处的元素个数 | OK | |
LRANGE | 1.0 | O(S+N) S为start偏移量,N为区间stop-start | LRANGE的区间是全闭区间,包含最后一个元素,注意stop取值范围。不过超出下表范围不会引起命令错误。可以使用负数下表,和python用法一致 | 返回一个列表 |
LTRIM | 1.0 | O(N) N为被移除元素的数量 | 和LRANGE类似,要注意下标 | OK |
BLPOP | 2.0 | O(1) | LPOP阻塞版本,timeout0表示不超时 阻塞命令和事务组合没有意义,因为会阻塞整个服务器,其他客户端无法PUSH,会退化成LPOP | |
BRPOP | 2.0 | O(1) | ||
BRPOPLPUSH | 2.2 | O(1) | 实现安全队列 | |
SADD | 1.0 | O(N) N是元素个数 | 2.4版本之前只能一个一个添加 | 返回总数 |
SISMEMBER | 1.0 | O(1) | 1/0 | |
SPOP | 1.0 | O(1) | 随机返回一个值并移除, | 值或nil |
SRANDMEMBER | 1.0 | O(N) N为返回值的个数 | 2.6开始支持count 类似SPOP但是不移除 | 值 nil/数组 |
SREM | 1.0 | O(N) N为移除的元素个数 | 2.4以前只支持单个移除 | 移除成功的数量 |
SMOVE | 1.0 | O(1) | 原子的,移除src添加dst | 移除成功1,其他0或者错误 |
SCARD | 1.0 | O(1) | cardinalty基数 | 不存在返回0 |
SMEMBERS | 1.0 | O(N) N为集合基数 | 不存在返回空集合 | |
SSCAN | SCAN | |||
SINTER | 1.0 | O(NxM) N是集合最小基数,M是集合个数 | 交集 | |
SINTERSTORE | 1.0 | O(N*M) | 同上,返回并保存结果 | |
SUION | 1.0 | O(N) N是所有给定元素之和 | 并集 | |
SUIONSTORE | 1.0 | O(N) | 同上,返回并保存结果 | |
SDIFF | 1.0 | O(N) | 差集 | |
SDIFFSTORE | 1.0 | O(N) | ||
ZADD | 1.2 | O(M*logN) N 是基数M是添加新成员个数 | 2.4之前只能一个一个加 | 成员数量 |
ZSCORE | 1.2 | O(1) | HGET和LINDEX api风格 | |
ZINCRBY | 1.2 | O(logN) | HINCRBY | |
ZCARD | 1.2 | O(1) | SCARD | |
ZCOUNT | 2.0 | O(logN) | ZRANGEBYSCORE拼的 | 返回score在所给范围内的个数 |
ZRANGE | 1.2 | O(logN+M) M结果集基数 N有序集基数 | 从小到大排序 | |
ZREVRANGE | 1.2 | O(logN+M) M结果集基数 N有序集基数 | 和上面相反 | |
ZRANGEBYSCORE | 1.05 | O(logN+M) M结果集基数 N有序集基数 | 按照score过滤 | |
ZREVRANGEBYSCORE | 1.05 | O(logN+M) M结果集基数 N有序集基数 | ||
ZRANK | 2.0 | O(logN) | 返回排名,从0开始,从小到大,0最小 | |
ZREVRANK | 2.0 | O(logN) | 从大到小 0最大 | |
ZREM | 1.2 | O(logN*M) N基数M被移除的个数 | 2.4之前只能删除一个 | 个数 |
ZREMRANGEBYRANK | 2.0 | O(logN+M) N基数 M被移除数量 | 被移除的数量 | |
ZREMRANGEBYSCORE | 1.2 | O(logN+M) N基数 M被移除数量 | 被移除的数量 | |
ZRANGEBYLEX | 2.8.9 | O(logN+M) N基数 M返回元素数量 | 分值相同 字典序 | |
ZLEXCOUNT | 2.8.9 | O(logN) N为元素个数 | 类似ZCOUNT,前提是分值相同,不然没意义 | 数量 |
ZREMRANGEBYLEX | 2.8.9 | O(logN+M) N基数 M被移除数量 | 分值相同 | 被移除数量 |
ZSCAN | SCAN | |||
ZUNIONSTORE | 2.0 | 时间复杂度: O(N)+O(M log(M)), N 为给定有序集基数的总和, M 为结果集的基数。 |
结果集基数 | |
ZINTERSTORE | 2.0 | O(NK)+O(Mlog(M)), N 为给定 key 中基数最小的有序集, K 为给定有序集的数量, M 为结果集的基数。 |
交集 | 结果集基数 |
ZPOPMAX | 5.0 | O(log(N)*M) M最大值个数 | ||
ZPOPMIN | 5.0 | O(log(N)*M) | ||
BZPOPMAX | 5.0 | O(log(N)) | ||
BZPOPMIN | 5.0 | O(log(N)) | ||
PFADD | 2.8.9 | O(1) | 变化返回1不变0 | |
PFCOUNT | 2.8.9 | O(1),多个keyO(N) | 个数 | |
PFMERGE | 2.8.9 | O(N) | OK | |
GEOADD | 3.2 | O(logN) | ||
GEOPOS | 3.2 | O(logN) | GET | |
GEODIST | 3.2 | O(logN) | 返回距离,节点不存在就返回nil | |
GEORADIUS | 3.2 | O(N+logM)N元素个数M被返回的个数 | 范围内所有元素 | |
GEORADIUSBYMEMBER | 3.2 | O(N+logM) | ||
GEOHASH | 3.2 | O(logN) | 字段的hash | |
XADD | 5.0 | O(1) | ||
XACK | 5.0 | O(1) | ||
XCLAIM | 5.0 | O(log N) | ||
XDEL | 5.0 | O(1) | ||
XGROUP | 5.0 | O(1) | ||
XINFO | 5.0 | O(N) | ||
XLEN | 5.0 | O(1) | ||
XPENDING | 5.0 | O(N) 可以退化为O(1) | ||
XRANGE | 5.0 | O(N) | ||
XREAD | 5.0 | O(N) 可以退化为O(1) | ||
XREADGROUP | 5.0 | O(M) 可以退化为O(1) | ||
XREVRANGE | 5.0 | O(N) 可以退化为O(1) | ||
XTRIM | 5.0 | O(N) | ||
EXISTS | 1.0 | O(1) | ||
TYPE | 1.0 | O(1) | 类型 | |
RENAME | 1.0 | O(1) | rocksdb不能in-place改key,seek出来,复制value,写旧key删除,写新key。pika为什么不支持? | OK |
RENAMENX | 1.0 | O(1) | 新key不存在才改 | 1成功 |
MOVE | 1.0 | O(1) | redis支持多库,redis多库数据导入pika? | 1成功0失败 |
DEL | 1.0 | O(N) N为key个数 | ||
RANDOMKEY | 1.0 | O(1) | 怎么实现的O1?pika O(N) | |
DBSIZE | 1.0 | O(1) | 所有key数量 | |
KEYS | 1.0 | O(N) | N大会阻塞redis | |
SCAN | 2.8 | O(1)迭代,O(N)完整迭代 | keys替代品 | |
SORT | 1.0 | O(N+MlogM) | 返回结果不是in-place,可以STORE保存 | |
FLUSHDB | 1.0 | O(1) | drop db | OK |
FLUSHALL | 1.0 | O(1) | drop all db | OK |
SELECT | 1.0 | O(1) | 切换数据库 | OK |
SWAPDB | 4.0 | O(1) | 交换数据库 | OK |
EXPIRE | 1.0 | O(1) | 单位秒 随机的过期时间防止雪崩 | 1成功0失败 |
EXPIREAT | 1.2 | O(1) | 时间戳 | |
TTL | 1.0 | O(1) | 不存在返回-2过期返回-1其余返回时间 | |
PERSIST | 2.2 | O(1) | 去除失效时间 | 1成功 |
PEXPIRE | 2.6 | O(1) | 毫秒为单位 | 1成功 |
PEXPIREAT | 2.6 | O(1) | 同expireat | |
PTTL | 2.6 | O(1) | 同ttl,2.8以前 失败或不存在都返,回-1后来用-2区分不存在 | |
MULTI | 1.2 | O(1) | 事务块开始 | OK |
EXEC | 1.2 | 事务块内执行的命令复杂度和 | 执行事务块 | 被打断返回nil |
DISCARD | 2.2 | O(1) | 放弃事务块内命令 | OK |
WATCH | 2.2 | O(1) | 乐观锁 | OK |
UNWATCH | 2.2 | O(1) | 当EXEC DISCARD没执行的时候取消WATCH | OK |
EVAL | 2.6 | O(1) 找到脚本。其余复杂度取决于脚本本身 | 推荐纯函数,有全局变量会报错 | |
EVALSHA | 2.6 | 根据脚本的复杂度而定 | 缓存过的脚本。可能不存在 | |
SCRIPT LOAD | 2.6 | O(N) N为脚本长度 | 添加到脚本缓存 | |
SCRIPT EXISTS | 2.6 | O(N) N为判断的sha个数 | 0 1 | |
SCRIPT FLUSH | 2.6 | O(N) N为缓存中脚本个数 | OK | |
SCRIPT KILL | 2.6 | O(1) | 如果脚本中没有写,能杀掉,否则无效,只能shutdown nosave | |
SAVE | 1.0 | O(N) N为key个数 | 保存当前快照到rdb,阻塞,保存数据的最后手段 | OK |
BGSAVE | 1.0 | O(N) | fork执行复制。,lastsave查看bgsave执行成功 | 反馈信息 |
BGREWRITEAOF | 1.0 | O(N) N为追加到AOF文件中的数据数量 | AOF redis自己会重写,该命令是手动重写 | 反馈信息 |
LASTSAVE | 1.0 | O(1) | 时间戳 | |
PUBLISH | 2.0 | O(M+N) channel订阅者数量+模式订阅客户端数量 | 收到消息的个数 | |
SUBSCRIBE | 2.0 | O(N) N是channel个数 | ||
PSUBSCRIBE | 2.0 | O(N) N是模式的个数 | 通配符模式。满足该通配符字符串的channel | |
UNSUBSCRIBE | 2.0 | O(N) N是channel个数 | 不指定则退订所有 | |
PUNSUBSCRIBE | 2.0 | O(N) N是channel个数 | ||
PUBSUB CHANNELS PUBSUB NUMSUB PUBSUB NUMPAT |
2.8 | O(N) N是频道个数 | 统计信息,活跃频道,频道关注数 频道模式个数 | |
SLAVEOF | 1.0 | O(1) | SLAVEOF NO ONE升主 | OK |
ROLE | 2.8.12 | O(1) | ||
AUTH | 1.0 | O(1) | ||
QUIT | 1.0 | O(1) | ||
INFO | 1.0 | O(1) | ||
SHUTDOWN | 1.0 | O(1) | SAVE QUIT有可能丢失数据 该命令屏蔽了后续的写动作? | |
TIME | 2.6 | O(1) | 时间戳 | |
CLIENT GETNAME CLIENT KILL CLIENT LIST SETNAME PAUSE REPLY ID | 2.6.9 2.4 |
O(1) O(N O(N)) O(1) |
||
CONFIG SET CONFIG GET CONFIG RESETSTAT CONFIG REWRITE | 2.0…2.8 | O(1)O(N)O(1)O(N) | ||
PING | 1.0 | O(1) | pong | |
ECHO | 1.0 | O(1) | ||
OBJECT | 2.2.3 | O(1) | 查引用次数,编码格式,空闲状态 | |
SLOWLOG | 2.2.12 | O(1) | ||
MONITOR | 1.0 | O(N) | 监视命令 | |
DEBUG OBJECT DEBUG SEGFAULT |
1.0 | O(1) | 调试命令,查对象信息,模拟segfault | |
MIGRATE | 2.6 | O(N) | dump key + restore | |
DUMP | 2.6 | O(1)查找O(N*size)序列化 | ||
RESTORE | 2.6 | O(1)查找O(N*size)反序列化,有序集合还要再乘logN,插入排序的代价 | ||
SYNC | 1.0 | O(N) | ||
PSYNC | 2.8 | NA |
Strings | List | Set | Sorted Set | hash | stream |
---|---|---|---|---|---|
APPEND | |||||
BITCOUNT | |||||
BITFIELD | |||||
BITOP | |||||
BITPOS | |||||
DECR | |||||
DECRBY | |||||
GET | |||||
GETBIT | |||||
GETRANGE | |||||
GETSET | |||||
INCR | |||||
INCRBY | |||||
INCRBYFLOAT | |||||
MGET | |||||
MSET | |||||
MSETNX | |||||
PSETEX | |||||
SET | |||||
SETBIT | |||||
SETEX | |||||
SETNX | |||||
SETRANGE | |||||
STRLEN |