Redis的五大数据类型及常用命令
一、与数据库相关的命令
Redis启动后默认16个数据库,类似数组下表从零开始,初始默认使用零号库
切换数据库命令 select 数据库下标
查看当前数据库的key的数量 Dbsize
清空当前库 flushdb
清空所有库 flushall
二、与键相关的常用命令
查看所有的键 keys *
判断是否存在某个键 exists key
如果存在返回1,否则返回0
从当前库移动某个键到目标库 move key db
设置键的过期时间 expire key 秒钟
查看还有多少秒过期 ttl key (-1表示永不过期,-2表示已过期)
查看key的类型 type key
三、5大数据类型
String(字符串)
String是redis最基本的类型,一个key对应一个value。它是二进制安全的,也就是说它可以包含任何数据,比如序列化的对象或图片等。一个字符串value最大可以是512m。
命令 说明 示例
set key value
设置指定key的值
get key
获取指定key的值
del key
删除一个key
append key value
给一个key拼接一个字符串
strlen key
获取键的值得长度
incr/decr/incrby/decrby/
对键的值进行加减操作,键值必须是数字
getrange
获取指定区间范围内的值,从0到-1代表获取全部
setrange
设置指定区间范围内的值
setex key 秒 值
设置带过期时间的键
setnx
只有键不存在时才设置键的值
mset
同时设置一个或多个键值对
mget
同时获取多个键的值
msetnx
同时设置一个或多个键值对,仅当所有给定的键都不存在时才能生效
getset
将给定 key 的值设为 value ,并返回 key 的旧值
List(列表)
列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部或者尾部。其底层结构是一个链表。
命令 说明 示例
lpush key value1 value2...
将一个或多个值插入到列表头部
rpush key value1 value2...
将一个或多个值插入到列表尾部
lrange start end
获取指定范围内的元素,start为0,end为-1时表示获取全部
lpop key
从列表头部移除一个元素并返回
rpop key
从列表尾部移除一个元素并返回
lindex key index
通过索引获取列表中的元素
llen key
获取列表的长度
lrem key count value
从左到右删除count个值等于value的元素,返回的值为实际删除的数量,当count=0时,表示删除全部值
ltrim key start end
截取指定索引区间的元素
rpoplpush key1 key2
从key1列表尾部移除一个元素插入key2列表的头部
lset key index value
修改某个下标对应的值
linsert key before/after 值1 值2
在列表某个已有值的前后再添加具体值
Hash(哈希)
哈希是一个键值对的集合,由一个string类型的key和value构成的映射表,它很适合用来存储对象。
命令 说明 示例
hset key field value
将哈希表key中的字段field的值设置为value
hget key field
获取哈希表中指定字段的值
hmset key field1 value1 field2 value2 ...
同时将多个key-value设置到哈希表中
hmget key field1 field2
获取所有给定字段的值
hgetall key
获取哈希表中的所以字段和值
hdel key1 key2
删除一个或多个哈希表中的字段
hlen key
获取哈希表中字段的数量
hexists key field
查看哈希表中指定的字段是否存在
hkeys key
查看哈希表中所有的键
hvals key
查看哈希表中所有的值
hincrby key field incrment
为哈希表 key 中的域 field 的值加上增量 increment
hincrbyfloat
为哈希表中的字段值加上指定浮点数增量值
hsetnx key field value
当哈希表中指定的键不存在时赋值
Set(集合)
集合是string类型的无序集合,底层由hashtable实现。
命令 说明 示例
sadd key value1 value2 ...
添加一个或多个成员到集合中
smembers key
返回集合中的所有成员
sismember key value
判断元素是否是集合中的成员
scard key
获取集合中的成员数
srem key value1 value2...
从集合中移除一个或多个成员
srandmember key n
返回集合中一个或多个随机数
spop key n
移除并返回集合中的一个或多个元素
smove source destination value
从集合source将元素value移动到集合destination
sdiff key1 key2
求两个集合的差集
sinter key1 key2
求两个集合的交集
sunion key1 key2
求两个集合的并集
Zset(有序集合)
zset和set一样也是集合,不同的是zset的每个元素都会关联一个double类型的分数。通过该分数,redis可以对zset中的元素进行排序。zset的成员唯一,但是分数score可以重复。
命令 说明 示例
zadd key score1 value1 score2 value2
向有序集合添加一个或多个成员,或者更新已存在成员的分数
zrange key start stop withscores(可选)
通过索引区间返回指定区间内的成员
zrangebysocre key score_start score_end withcores(可选) limit(可选)
通过分数返回有序集合指定区间内的成员
zrem key value1 value2 ...
移除集合内一个或多个成员
zcard key
获取有序集合的成员数
zcount key score_start score_end
计算在有序集合指定分数区间的成员数
zrank key value
返回有序集合中指定成员的索引
zrevrank key value
返回有序集合中指定成员的排名,有序集合成员按分数值递减(从大到小)排序
zrevrange key start stop withscores(可选)
返回有序集合中指定区间内的成员,通过索引, 从高到低
zrevrangebyscore key score_end score_start
返回有序集合中指定分数区间内的成员,分数从高到低排序
以上是 Redis的五大数据类型及常用命令 的全部内容, 来源链接: utcz.com/z/531320.html