一、redis的基础命令
-
info
命令:- # Server:查看系统信息,包括redis的版本信息,使用的端口和process_id和依赖的gcc版本等
- # Clients:客户端连接数量等
- # Memory:内存的使用情况
- # Persistence:持久化备份的参数信息
- # State:redis状态信息
- # Replication:主从同步的相关数据
- # Keyspace:显示已有的空间及空间内的
key
的数量,在redis客户端通过select index
选择相应的空间,类似于选择数据库表,不同的表中存储着不同的数据 - 在
redis.conf
文件中可以进行空间数量的设置,默认值为16:即可以使用的空间是0-15
-
flushdb
命令:清除当前keyspace空间的所有键值 -
flushall
命令:清除所有keyspace空间的所有键值 -
dbsize
命令:当前keyspace的键的数量 -
save
命令:人工触发的对redis的持久化 -
quit
命令:退出当前redis客户端的连接
二、redis的键命令
set key value
:设置键值del key
:删除键,成功则返回1,失败则返回0exists key
:判断键是否存在,存在则返回1,不存在则返回0ttl key
:time to leave,返回的是键的过期时间,单位时间是秒,若返回-1,则代表该键不会过期,返回-2表示该键不存在expire key time
:设置键的过期时间,如expire a 10
表示设置键a的过期时间为10秒type key
:返回键的类型,如string,hash等randomkey
:返回随机的key(键)rename key1 key2
:将键名进行重命名,如key a b
则将键a的名改为键b,若替换的键名存在,则会将已有的键进行覆盖,即将b的键值覆盖,得到的是key:b,value:a
renamenx key1 key2
:加了nx结尾的rename命令会进行一定的逻辑判断,该命令会判断该替换的键是否存在,如果存在则返回0,表示替换失败,若不存在则返回1,表示替换成功
三、redis的数据结构
String字符串
setex key time value
:创建键的时候为键设置其有效时间,单位时间为秒,psetex
设置的时间单位为毫秒getrange key start end
:获取字符串的某一片段(start到end的间字段)getset key value
:为key赋上新的值,返回被替换之前的值。mset key value key value
:进行多个键值的设置mget key1 key2 key3
:进行多个键值的获取,获取到键key1,key2,key3的值strlen key
:返回键值的长度msetnx key value key value
:进行批量的键设置,需要设置的键不存在才会赋值成功,该命令具有原子性,及要么全部设置成功返回1,要么都是失败返回0。incr key
:将类型的Integer的键值进行加一操作incrby key number
:为键值一次性加上number的数,如incr 1 100
,则表示为键为1的值增加100.decr key
:将类型的Integer的键值进行减一操作decrby key number
:为键值一次性减去number的数append key str
:为key的值加上字符串str
Hash哈希
hset key filed value
:设置哈希键值hexists key field
:判断键是否存在hget key field
:获取键中filed所对应的值hgetall key
:获取键中所有的field和对应的valuehkeys key
:获取键中 所有的filed值hvals key
:获取键中所有的value值hlen key
:获取键中filed的数量hmset key field name field name
:批量设置键中的field和valuehmget key field field
:批量获取键中field的valuehdel key field field
:删除键中的多个field及其值hsetnx key field value
:若存在这个field,则设置失败返回0,否则返回1
List列表
lpush key value value
:将多个value添加到key中,添加的过程是将value从链表头部一个一个插入,及最后一个加入的是在链表的头部llen key
:获取key的数量lrange key startIndex stopIndex
:获取key列表指定下标范围内的元素lindex index
:获取指定下标的元素值lpop key
:移除key列表的首个(头)元素rpop key
:移除key列表的最后(末尾)元素
Set集合
sadd key value value
:将多个value加入key集合中scard key
:返回集合中的数量smembers key
:返回集合中的所有成员sdiff key1 key2
:返回key1与key2的差值,即key1减去ke1和key2中共同存在的元素sinter key1 key2
:返回key1与key2的交集sunion key1 key2
:返回key1与key2的并集srandmember key1 number
:返回集合中的随机的number个数sismember key member
:判断member是否为集合key中的元素,是则返回1,不是则返回0srem key value value
:移除集合中的多个元素spop key
:随机移除并返回移除的元素
sortedset有序集合
zadd key score member score member
:为有序集合添加多个成员元素,score为member的值,且集合按score的值进行排序zcard key
:返回集合中成员的数量zscore key member
:返回member元素的scorezcount key min max
:返回score在min到max范围内的member数量zrank key member
:返回member的下标zrange key min max
:返回score在min到max范围内的所有memberzrange key min max withscores
:返回score在min到max范围内的所有member及其对应的score