概述
redis中关于string数据类型的操作命令
1、将string类型的数据保存到redis中:set key vale
set zsname zhangsan
set zsage 20
set totalRows 100
若key已存在,后来的value会把以前的value覆盖掉
2、从redis中获取string类型的数据 get key
get zsname
get zsage
3、追加字符串 append key value
返回增加之后的字符串长度
如果key不存在则新创建一个key,并设置vlaue
append phone 888
4、获取字符串数据的长度 strlen key
strlen phone
5、对表示数值的字符串进行加1运算 incr key
返回加1之后的数据
要求可以所表示的value必须是数值,否则报错
如果key不存在,首先设置一个key,value初始值为0,再加1
如:incr zsage
6、对表示数值的字符串进行减1运算 decr key
返回减1之后的数据
要求可以所表示的value必须是数值,否则报错
如果key不存在,首先设置一个key,value初始值为0,再减1
如:decr zsage
7、对字符串数值进行j减offset运算 incrby key offset
返回offset运算之后的值
如果key不存在,首先设置一个key,value初始值为0,再加offset
incrby zaage 10 给key为zsage的value加上10
1、对字符串数值进行减offset运算 decrby key offset
返回offset运算之后的值
如果key不存在,首先设置一个key,value初始值为0,再减offset
decrby zaage 10 给key为zsage的value减去10
8、获取字符串中的子字符串 getrange key startIndex endIndex
下标从0开始,左右都是闭区间
下标可以是负数
从右到左从-1开始
如 set zsname zhangsan
getrange zsname 1 4
返回:hang
9、用value覆盖从下标为startIndex开始的字符串 setrange key startIndex value
注意:是覆盖,不是插入
如:setrange zsname 5 o
get zsname //zhangoan
setrange zsname 5 abc
get zsname //zhangabc
10、设置字符串的同时,设置他的最大生命周期 setex key xxx(second) vlaue
如:setex k1 20 v1
11、s设置string类型的数据value到redis数据库中,当key不存在时,设置成功,如果key存在,则放弃设置 setnx key value
12、批量将string类型的数据设置到redis中 mset 键1 值1 键2 值2 …
mset k1 v1 k2 v2
13、批量获取string类型的数据 mget 键1 值1 键2 值2 …
mget k1 v1 k2 v2
14、批量设置string类型的数据,当所欲key都不存在时,设置成功,只要有一个key存在,则放弃设置 msetnx
redis中有关list数据类型的操作命令
list:单key-多value 有序:按照放进去的前后顺序
可以通过下标来访问, 第一个可以用0来表示,最后一个元素可以用-1来表示
1、将一个或者多个值依次插入到列表的表头(左侧) lpush key value [value value …]
lpush list01 1 2 3 4 5 6
2、获取指定列表中的元素 lrange key startIndex endIndex
l表示list
lrange list01 0 -1 //3 2 1
3、将一个或者多个值依次插入到列表的表表尾(右侧) rpush key value [value value …]
rpush list02 a b c
lrange list02 0 -1 //a b c
lpush l m n
lrange list02 0 -1 //n m l a b c
4、从指定列表中移除并且返回表头元素 lpop
lpop list02 //n
lrange list02 0 -1 //m l a b c
5、获取列表中指定下标的元素 lindex key index
lindex list02 2 //a
6、获取指定列表的长度 llen key
llen list02 //5
7、从指定列表中移除并且返回表尾元素 rpop
rpop list02 //c
lrange list02 0 -1 //m l a b
8、移除指定列表中某些数据 lrem key (count) value
count>0 从列表的左侧移除count个值为value的数据
count<0 从列表的右侧移除count个值为value的数据
count=0 从列表中移除所有跟value相等的数据
lpush list03 1 2 3 4 3 2 2 5 6 7 3 4 5 5
1)5"
2) "5"
3) "4"
4) "3"
5) "7"
6) "6"
7) "5"
8) "2"
9) "2"
10) "3"
11) "4"
12) "3"
13) "2"
14) "1"
lrem list03 2 5
lrange list03 0 -1
4 3 7 6 5 2 2 3 4 3 2 1
lrem list03 -2 3
lrange list03 0 -1
4 3 7 6 5 2 2 4 2 1
lrem list03 0 1
lrange list03 0 -1
4 3 7 6 5 2 2 4 2
reids中有关set数据类型的操作命令
set:单key-多无序vlaue
string类型的无序不重复集合
集合类型的数据操作总的思想是通过key确定集合,key是集合标识,元素没有下标,只有直接操作业务数据和数据的个数
无序:取出的顺序与放进去的先后顺序不一致,且不能重复
1、 将一个或多个元素添加到集合中 sadd key value [value value …]
sadd set01 a b c a //实际只添加了3个。a重复,只添加一次
2、获取指定集合中所有的元素 smembers key
3、判断指定元素在指定集合中是否存在 sismember key member
存在返回1,不存在返回0
sismember set01 f
sisimember set01 a
4、获取指定集合的长度 scard key
scard set01
5、移除指定集合中一个或者多个元素 srem key member [member member …]
返回成功移除的个数
srem set01 a f
只会移除a,若是指定的元素不存在,则会忽略
6、随机获取指定集合中的一个元素或多个元素 srandmember key [count]
count表示要获取的元素的个数
count>0 随机获取的多个元素之间不能重复
count<0随机获取的多个元素之间可以重复
count不写时,只获取一个
sadd set02 1 2 3 4 5 6 7 8
srandmember set02
//5
srandmember set02 3
//7 4 5
7、从指定集合中随机移除一个或多个元素 spop key [count]
count表示要移除的元素的个数
count不写时,只移除一个
spop set02
spop set02 2
8、将指定集合中的指定元素移动到另一个集合 smove source dest member
smove set01 set02 b 将元素“b”set01移动到set02中
9、获取第一个集合有,但其他集合中都没有的元素组成的新集合(求差集) sdiff key key [key key …]
sdiff set01 set02 set03 获取set01里有,但是set02 和set03都没有的所有元素
10、获取所有指定集合都有的元素组成的新集合(求交集) sinter key key [key key …]
sinter set01 set02 set03 获取这三个集合中共同的部分
11、获取所有指定集合中所有元素组成的大集合(求并集) sunion key key [key key …]
sunion set01 set02 set03 获取这三个集合的并集
redis中有关hash数据类型的操作命令(hset)
Redis的hash是一个string类型的key和value的映射表,这里的value是一系列的键值对,hash特别适合用于存储对象。
哈希类型的数据操作总的思想是通过key和filed操作value,key是数据标识符,filed是域,value是我们感兴趣的业务数据
单key:filed-value
filed-value
属性—值
1、将一个或者多个filed-value对设置到哈希表中 hset key filed1 value1 filed2 value2 [filed3 value3 …]
hset stuzs id 001 name zhangsan
2、获取指定hash表中指定filed的值 hget key filed
3、批量将多个iled-value对设置到哈希表中 hmset key filed1 value1 filed2 value2 [filed3 value3 …]
1和3用哪一个都可以
4、批量获取指定哈希表中的filed值 hmget key filed1 [filed2 filed3 …]
hmget zstuzs id name sex
5、获取指定哈希表中所有的filed和vlaue hgetall key
hget stuzs
6、从指定哈希表中删除一个或多个filed hdel key filed1 [filed2 filed3 …]
hdel stuzs sex name
7、获取指定哈希表中所有的filed的个数 hlen key
hlen stuzs
8、判断指定哈希表中是否存在某一个域 hexists key filed
返回1 表示存在
返回0 表示不存在
hexists stuzs name
9、获取指定哈希表中所有的filed列表 hkeys key
hkeys stuzs
10、获取指定哈希表中所有的value列表 hvals key
hvals stuzs
11、对指定哈希表中指定的filed值进行加法运算 hincrby key filed int
hincrby stuzs age 5 //给stuzs这个哈希表中的age属性加5
12、对指定哈希表中指定的filed值进行浮点数加法运算 hincrbyfloat key filed float
hincrbyfloat stuzs height 1.5 //给stuzs这个哈希表中的height属性加1.5
13、将一个filed-value对设置到哈希表中,当key已经存在时,则放弃设置,否则,设置成功 hsetnx key filed value
hsetnx stuzs name lisi //返回0,设置失败
redis中关于zset数据类型的操作命令
zset:有序集合 zset和集合set一样也是string类型元素的集合,且不允许重复的成员
不同的是zset的每个元素都会关联一个分数(分数可以重复),redis通过分数来为集合中的成员进行从小到大的排序
既然有序集合中每一个元素都有序,那么也都有下标
有序集合中元素的排序规则与列表中元素的排序规则不一样
1、将一个或者多个member及其分数(score)值加入有序集合 zadd key socre member [score member …]
zadd zset01 20 z1 30 z2 50 z3 40 z4
zadd zset01 60 z2 //会把分数覆盖
2、获取有序指定有序集合中指定下标区间的元素 zrange key startIndex endIndex[withscores]
zrange zset01 0 -1 //按照分数排序从小到大 z1 z2 z4 z3
zrange zset01 0 -1 withscores //获取元素带分数
3、获取指定有序集合中指定分数区间(闭区间)的元素 zrangebyscore key min max [withscores]
zrangebyscore zset01 30 50 withscores
1) "z4"
2) "40"
3) "z3"
4) "50"
4、删除指定有序集合中一个或者多个元素 zrem member [member …]
zrem zset01 z3 z4
5、获取指定有序集合中所有元素的个数 zcard key
zcard zset01
6、 获取指定有序集合中分数在指定区间内(闭区间)的元素的个数 zcount key min max
zcount zset01 30 50 //2 在30-50区间内有2个元素
7、获取指定有序集合中指定元素的排名(排名从0开始) zrank key member
zrank zset01 z4 //2 排名第二
8、获取指定有序集合中指定元素的分数 zscore key member
zscore zset01 z3 //30 z3的分数是30
9、获取指定有序集合中指定元素的排名(按照从大到小的顺序排) zrevrank key member
zrevrank zset01 z2 //0 从大到小排名第一(从0开始)
最后
以上就是忧虑纸飞机为你收集整理的redis(3)--redis中关于5种数据类型的操作命令的全部内容,希望文章能够帮你解决redis(3)--redis中关于5种数据类型的操作命令所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复