Redis数据库命令中的一些单词有时为一个单词,有时为多个单词的组合,小编会在下面的例子中对一些比较难懂的词进行解析,希望能促进各位对Redis数据库命令的理解。有些不足之处还望大神指点一二,谢谢。
一、String
概述:String是redis最基本的类型,最大能存储512MB的数据,String类型是二进制安全的,即可以存储任何数据、比如数字、图片、序列化对象等
1、设置
a、设置键值
set key value
b、设置键值及过期时间,以秒为单位
setex key seconds value (这里的 setex 为组合词 set + exist ,设置存在)
c、设置多个键值
mset key value [key value ……] (这里的 mset 为组合词 multi + set ,多个设置)
2、获取
a、根据键获取值,如果键不存在则返回None(null 0 nil)
get key
b、根据多个键获取多个值
mget key [key ……] ( m 同上 multi )
3、运算
要求:值是字符串类型的数字
a、将key对应的值加1
incr key (这里的 incr 是 increase ,增加)
b、将key对应的值减1
decr key (这里的 decr 是 decrease ,增加)
c、将key对应的值加整数
incrby key intnum (这里的 incrby 为组合词 increase + by ,增加)
(这里的 intnum 为组合词 integer(int) + number ,整数)
d、将key对应的值加整数
decrby key intnum (这里的 decrby 为组合词 decrease + by ,减少),intnum同上
4、其它
a、追加值
append key value
b、获取值长度
strlen key (这里的 strlen 为组合词 string + length ,字符串的长度)
二、key
1、查找键,参数支持正则
keys pattern
2、判断键是否存在,如果存在返回1,不存在返回0
exists key
3、查看键对应的value类型
type key
4、删除键及对应的值
del key [key ……] (这里的 del 是 delete,删除)
5、设置过期时间,以秒为单位
expire key seconds
6、查看有效时间,以秒为单位
ttl key (这里的 ttl 为组合词 Time To Live ,生存时间)
三、hash
概述:hash用于存储对象
{
naem:”tom”,
age:18
}
1、设置
a、设置单个值
hset key field value (这里的 hset 为组合词 hash+ set ,设置哈希)以下雷同不在解释
b、设置多个值
hmset key field value [field value ……] (这里的 hmset 为组合词 hash multi set ,设置多个哈希) 以下雷同不在解释 ,(field在这里有 字段 的意思 )以下雷同不在解释
2、获取
a、获取一个属性的值
hget key field
b、获取多个属性的值
hmget key filed [filed ……]
c、获取所有属性和值
hgetall key (这里的 hgetall 为组合词 hash get all ,获取所有哈希)
d、获取所有属性
hkeys key
e、获取所有值
hvals key (这里的 hvals 为组合词 hash + values ,哈希值)
f、返回包含数据的个数
hlen key (这里的 hlen 为组合词 hash + length ,哈希个数)
3、其它
a、判断属性是否存在,存在返回1,不存在返回0
hexists key field (这里的 hexists 为组合词 hash + exists ,哈希存在)
b、删除属性及值
hdel key field [field ……] (这里的 hdel 为组合词 hash + delete ,删除哈希)
c、返回值的字符串长度
hstrlen key field (这里的 hstrlen 为组合词 hash string length ,哈希字符串长度)
四、list
概述:列表的元素类型为string,按照插入顺序排序,在列表的头部或尾部添加元素
1、设置
a、在头部插入
lpush key value [vlaue ……] (这里的 lpush 为组合词 left+ push ,左边插入)以下雷同不在解释
b、在尾部插入
rpush key value [vlaue ……]
c、在一个元素的前|后插入新元素
linsert key before|after pivot value (这里的 linsert 为组合词 list + insert ,list插入),这里的 pivot 按照翻译应该是 中心点 之类的意思,总感觉有点违和。。。
d、设置指定索引的元素值
lset key index value (这里的 lset 为组合词 list + set ,list设置)以下雷同不在解释
注意:index从0开始
注意:索引值可以是负数,表示偏移量是从list的尾部开始,如-1表示最后一个元素
2、获取
a、移除并返回key对应的list的第一个元素
lpop key (这里的 lpop 为组合词 list + pop ,list pop),pop 按照命令是 移除并返回的意思,具体意思我也不知道。。。望哪位大神看见了指点一下,谢谢。
b、移除并返回key对应的list的最后一个元素
rpop key
c、返回存储在key的列表中的指定范围的元素
lrange key start end (这里的 lrange 为组合词 list + range ,list范围)
注意:start end都是从0开始
注意:偏移量可以是负数
3、其它
a、裁剪列表,改为原集合的一个子集
ltrim key start end (这里的 ltrim 为组合词 list + trim ,list裁剪)
注意:start end都是从0开始
注意:偏移量可以是负数
b、返回存储在key里的list的长度
llen key (这里的 llen 为组合词 list + length ,list长度)
c、返回列表中索引对应的值
lindex key index (这里的 lindex 为组合词 list + index ,list下标)
五、set
概述:无序集合,元素类型为String类型,元素具有唯一性,不重复
1、设置
a、添加元素
sadd key member [member ……] (这里的 sadd 为组合词 set + add ,set添加)以下雷同不在解释
2、获取
a、返回key集合中所有元素
smembers key (这里的 smembers 为组合词 set + members ,set成员)
b、返回集合元素个数
scard key (这里的 scard 为组合词 set + card ,set卡片(set个数)),不知道这里的card为什么是个数的意思
3、
a、求多个集合的交集
sinter key [key ……] (这里的 sinter 为组合词 set + inter ,set在...中(set交集))
b、求多个集合的差集
sdiff key [key ……] (这里的 sdiff 为组合词 set + difference,set与...不同(set差集))
c、求多个集合的合集
sunion key [key ……] (这里的 sunion 为组合词 set + union ,set与...合并(set合集))
d、判断元素是否在集合中,存在返回1,不存在返回0
sismember key member 这里的 sismember 为组合词 set is member ,set 在 成员中)
六、zset
概述:a、有序集合,元素类型为Sting,元素具有唯一性,不能重复
b、每个元素都会关联一个double类型的score(表示权重),通过权重的大小排序,元素的score可以相同
1、设置
a、添加
zadd key score member [score member ……] (这里的 zadd 为组合词 zset + add ,zset添加)下面的命令自行参考 set 的解释
zadd z1 1 a 5 b 3 c 2 d 4 e
2、获取
a、返回指定范围的元素
zrange key start end
b、返回元素个数
zcard key
c、返回有序集合key中,score在min和max之间的元素的个数
zcount key min max
d、返回有序集合key中,成员member的score值
zscore key member
本文绝大部分内容转载于博主「盖世英雄Zz」的原创文章,我只是添加了一些解释的内容,特此声明,谢谢。
————————————————
版权声明:本文为CSDN博主「盖世英雄Zz」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/javali1995/article/details/78496545