Redis通用指令和五大基本数据类型常用指令总结

通用指令

  • keys parttern 查询key

(parttern即通配符,不是正则表达式,例如 keys a? 匹配以a开头的长度为2的key)

  • del key 删除key

  • exists key 获取key是否存在

  • type key 获取key的类型

  • expire key seconds 为指定key设置有效期,单位秒

  • pexpire key milliseconds 为指定key设置有效期,单位毫秒

  • ttl key 获取key的有效时间,单位秒

  • pttl key 获取key的有效时间,单位毫秒

  • persist key 切换key从时效性转换为永久性

  • rename key newkey

  • renamenx key newkey 改名,nx就是not exists不存在才能修改

  • select index 切换数据库

  • move key db 数据移动到另一个数据库

  • dbsize 数据库中数据总数

  • flushdb 清除当前库

  • flushall 清空所有库

string类型指令

就类似Java的字符串。

  • set key value 添加/修改数据

  • get key 获取数据

  • mset key1 value1 key2 value2 ... 添加/修改多个数据

  • mget key1 key2 ... 获取多个数据

  • strlen key 获取数据字符个数(字符串长度)

  • append key value 追加信息到原始信息后部(如果原始信息存在就追加,否则新建)

  • incr key 设置数值数据增加指定范围的值

  • incrby key increment

  • incrbyfloat key increment

  • decr key 设置数值数据减少指定范围的值

  • decrby key increment

  • setex key seconds value 设置数据具有指定的生命周期

  • psetex key milliseconds value

Hash类型指令

就类似Java的HashMap。在Redis中为:Map<key,Map<key,value>>。

这里主要是增删改查第二个Map中的内容,如果想删除整个对象,采用删除String类型的指令。参照上面的String指令,前面都加上h。

  • hset key field value 添加/修改数据

  • hget key field 获取key对象的field字段的数据

  • hgetall key 获取key对象的所有字段信息

  • hkeys key 获取哈希表中所有的字段名

  • hvals key 获取哈希表中所有的字段值

  • hdel key field1 [field2] 删除key对象的field1、field2字段的数据

  • hmset key field1 value1 field2 value2 ... 添加/修改多个数据

  • hmget key field1 field2 ... 获取多个数据

  • hlen key 获取哈希表中字段的数量

  • hexists key field 获取哈希表中是否存在指定的字段

  • hincrby key field increment 设置指定字段的数值数据增加指定范围的值

  • hincrbyfloat key field increment

List类型指令

List类型类似于Java LinkedList。按顺序处理操作,可以实现先进先出,也可以实现后进先出。

  • lpush key value1 [value2] ...... 在左边添加/修改数据

  • rpush key value1 [value2] ...... 在右边添加/修改数据

  • lrange key start stop 获取数据(循环变量) ,start和stop是下标,0开始,stop为-1代表到末尾

  • lindex key index 从左获取key对象的index索引处的值

  • llen key

  • lpop key 获取并弹出数据

  • rpop key

Set类型

Set类型就是Java的HashSet。特点:无序,去重,集合操作。

  • sadd key member1 [member2] 添加数据

  • smembers key 获取全部数据

  • srem key member1 [member2] 删除数据

  • scard key 获取集合数据总量

  • sismember key member 判断集合中是否包含指定数据

  • srandmember key [count] 随机获取集合中指定数量的数据

  • spop key [count] 随机获取集合中的某个数据并将该数据移出集合

  • sinter key1 [key2] 求两个集合的交、并、差集

  • sunion key1 [key2]

  • sdiff key1 [key2]

  • sinterstore destination key1 [key2] 求两个集合的交、并、差集并存储到指定集合中

  • sunionstore destination key1 [key2]

  • sdiffstore destination key1 [key2]

  • smove source destination member 将指定数据从原始集合中移动到目标集合中

Sorted_set类型(ZSet)

在Set的基础上添加了一个排序字段。

  • zadd key score1 member1 [score2 member2] 添加数据

  • zrange key start stop [WITHSCORES] 正序获取全部数据

  • zrevrange key start stop [WITHSCORES] 逆序获取全部数据

  • zrem key member [member ...] 删除数据

  • zrangebyscore key min max [WITHSCORES] [LIMIT] (这个命令的作用是返回有序集合 key 中分数在 min 和 max 之间的所有成员,按照分数从小到大的顺序排列。如果指定了 WITHSCORES 选项,那么还会返回每个成员的分数值。如果指定了 LIMIT 选项,那么还可以限制返回的成员数量和偏移量。 )

  • zrevrangebyscore key max min [WITHSCORES] 从大到小排序,并返回每个成员的分数值。

  • zremrangebyrank key start stop 条件删除数据

  • zremrangebyscore key min max

  • zcard key start stop 获取集合数据总量

  • zcount key min max

  • zrank key member 排序后,获取数据对应的索引(排名),从0开始

  • zrevrank key member

  • zscore key member score值获取与修改

  • zincrby key increment member

  • zinterstore destination numkeys key [key ...] 集合交、并操作,并存储 (numkeys 是参与运算的key的个数)

  • zunionstore destination numkeys key [key ...]

相关推荐
风柏杨2 小时前
巧用防火墙的转发功能在云服务器上搭建代理解决Redis,数据库等资源需IP白名单访问的问题
服务器·数据库·tcp/ip·代理·云数据库白名单处理
想要打 Acm 的小周同学呀2 小时前
ORACLE创建用户之后查询不到创建的用户
数据库·oracle·oracle创建用户查询
fei_sun2 小时前
【数据库实验一】数据库及数据库中表的建立实验
服务器·数据库·oracle
W21552 小时前
LINUX下的Myql:库的操作
数据库
刘艳兵的学习博客4 小时前
刘艳兵-DBA028-您可以在 ORCL1 和 ORCL2 数据库都运行其实例的主机上安装“独立服务器的 Oracle 网格基础结构“。哪两个陈述是正确的?
运维·服务器·数据库·oracle·面试·运维开发·刘艳兵
不太灵光的程序员4 小时前
【HBase分布式数据库】第二章 HBase入门前提
数据库·分布式·hbase
ctrlcvKing4 小时前
秒杀系统的设计与压测
运维·服务器·数据库
雪碧聊技术6 小时前
Redis6:短信登录
redis·token·拦截器·短信登录
奇纳尼6 小时前
explain的sql调优-oracle、mysql优化
数据库·mysql·oracle·explain·sql优化 调优
薛晓刚6 小时前
另一个角度的“业务向前,数据库向后”
数据库