Redis常用命令

1,常用命令:

通用的键值对操作:

(1),set site www.baidu.com  设置一个值

(2),get site 获取一个键的值

(3),keys sit* 查看以sit开头的key有哪些

(4),keys sit[ey] 查看key为site或者sity的数据

(5),keys ag?  查看key以ag开头并且长度为3的数据

(6),randomkey   随便取一个key

(7),判断key的类型,这个类型之后我们会讲到:  type age 

(8),判断某个key有没有: EXISTS age

(9),删掉一个key : del age

(10),rename site wangzhi : 把key为site的数据的key修改为wangzhi,如果原先一斤存在wangzhi这个key,这个时候值将会被覆盖

(11),renamenx site wangzhi : 如果wangzhi这个key不存在,那么改名,如果存在,不做任何操作

(12),SELECT n : 选择redis的数据库,n从0到15,redis默认一共有16个数据库.

(13),move search 1 : 把key为search的数据一定到1号数据库

(14),查询一个key的有效期:ttl search.   如果结果是-1表示数据永久有效,或者key不存在的时候也返回-1,但是在redis2.8中不存在的key返回-2。

(15),设置一个key的生命周期为10秒:expire search 10

(16),pexpire search 9000  设置serach的生命周期为9000毫秒.   

     pttl search          获取search的生命周期,以毫秒为单位返回.

(17),persist site : 设置key为site的值永久有效。

(18),flushdb : 清除所有redis中的所有缓存

2,Redis字符串操作:

1,set key value [ex 秒数]/[px 微妙数]

set site www.baidu.com ex 1000 : 设置site为www.baidu.com过期时间为1000秒

set site www.baidu.com px 9000 : 设置site为www.baidu.com过期时间为9000毫秒

set site www.baidu.com ex 1000 px 9000 : 如果秒和毫秒都设置了,那么过期时间以写在后面的为准,这里就是9000毫秒 

set site www.baidu.com px 9000 nx : 表示site这个key不存在的时候才执行操作,相当于添加

set site www.baidu.com px 9000 xx : 表示site这个key存在的时候执行操作,相当于update

2,一次性设置多个值:

mset s1 SpringMvc s2 Spring m mybatis 等效于以下四条语句

set s1 SpringMvc

set s2 Spring

set m mybatis

3,一次性获取多个值:

mget s1 s2 m,和以下的四条语句功效相同

get s1

get s2

get m

4,setrange命令

(1)setrange key 2 ?? : 从字符串的第二个字符开始替换两个字符为??

(2)setrange key 6 ?? : 如果设置的偏移其实位置大于字符串的长度,中间用0x00填充

5,往字符串后面附加字符串:append key str

6,getrange key 5 10 : 获取字符串数据的第5到第10个字符

  getrange key 0 -4 : 从后往前数,获取0到第n个数的值,比如key的值为working的时候,获取 getrange key 0 -4 返回  work

7,getset key value : 获取key对应的旧的值,然后设置一个新的值

8,incr key : 让key对应的值+1并返回,比如我们的文章阅读量计数我们一般就是使用这种方式,该操作是原子性的

9,decr key : 让key对应的值-1并返回,,该操作是原子性的

10,incrby key 5 : 让key对应的值+5并返回,该操作是原子性的

11,decrby key 5 : 让key对应的值-5并返回,该操作是原子性的

12,incrbyfloat key 0.5 : 让key对应的值长0.5,该操作是原子性的

13,setbit key 10000 1  : 设置key的10000位的值为1,这个是做位运算的,我们之后举例说明

14,getbit key 10000  : 获取key在10000位上的值,这个是做位运算的,之后举例说明

3,Redis的List操作:

1,lpush key value : 把一个值推到链表的最左边

2,rpush key value : 把一个值推到链表的最右边

3,lrange key 0 3 :取出从左边第0个元素开始到第3个元素之间的所有值,包含0和3

4,lrange key 0 -1 : 查看一个链表的所有元素

5,lpop chars : 从左边弹出并返回第一个元素

6,rpop chars : 从右边弹出并返回第一个元素

7,lrem name 20 jay :从key为name的List删除值为jay的数据,当一共删除了20的时候,停止删除

8,lrem name -20 jay :从key为name的List的尾部开始反向删除值为jay的数据,当一共删除了20的时候,停止删除

9,ltrim key 5 14  : 截取List中的从第5个到第14个的值

10,lindex key 2  : 获取链表上的第2个元素

11,llen key  : 获取一个List的长度

12,linsert key before 2 3  :  从左边开始插入,在值为2的数字前面加上一个值为3的数据

13,linsert num after 8 9   :  从昨天开始插入,在值为8的数字后面加上一个值为9的数据

14,rpoplpush key1 key2   : 从key1的右边弹出一个数据插入到key2的最左边

15,当调用lpop和rpop的时候,当链表中没有值的时候,不会pop东西出来.这个时候用blpop和brpop,这个时候只有当链表中没有值的时候不起作用,只有到链表中有值的时候才会被pop出来。

4,Redis的Set操作,Set表示集合,具有无序性:

1,增加一个集合: sadd sex male female  :  给key为sex的集合增加male和female的元素。

2,smembers sex  : 查看集合sex有哪些元素。

3,srem sex male yao  :  删除集合中的值为male和yao的元素

4,spop sex  :  从集合中随机的弹出一个元素,并且删除掉

5,srandmember sex  :  从集合中随即的得到一个单元

6,sismember key value :  从集合中查看某个值是否在集合中

7,scard key  :  用于查看一个集合有多少元素

8,smove upper lower A  :  把upper集合中的A元素移动到lower中去

9,sinter key1 key2 key3 : 计算出集合key1,key2,key3的交集

10,sunion key1 key2 key3  :  计算出集合key1,key2,key3的并集

11,sdiff key1 key2 : 计算算出key1和key2的差集

5,Redis的Order Set操作,Order Set表示有序集合:

1,zadd key 26 xiawei 25 hehuanhuan 32 jolin 33 jay :  向一个有序集合中添加四个元素,分别是先设置排序的分数,然后设置元素的值

2,zrangebyscore class 26 32  :  获取有序集合中的排序分数在26到32之间的数据,包含26不包含32

3,zrange key 0 3 : 根据排序的分数,取出第0到第3个元素.

  zrange key 0 -1 : 根据排序的分数取出0到最后一个

4,zrangebyscore class 10 30 withscores : 根据分数取出分数和对应的数据的值

5,zrank key xiawei : 返回值为xiawei的元素的排名

6,zrem key xiawei hehuanhuan: 删除有序集合中的值为xiawei和hehuanhuan的元素

7,zremrangebyscore key 10 27 : 删除有序集合中分数在10到27之间的元素,包含10和27

8,zcount key 25 30 : 统计在有序集合中分数在25到30之间的元素

9,zinterstore result 2 lisi wangwu  : 把key为lisi的有序集合和key为王五的有序集合合并,然后把合并之后的值放在result中,2表示一共要合并几个有序集合,合并之后所有的score默认相加。

10,合并集合之后,score如何获取  : zinterstore result 2 lisi wangwu aggregate min(最小)/max(最大)/sum(求和)

6,Hash结构:

1,hset user1 name xiawei  : 为key为user1的hash结构设置一个属性名称为name,值为xiawei的属性

2,hmset user1 name huanhuan age 25 sex female : 为key为user1的hash结构设置多个属性和值

3,hget user1 name : 查看user1的name属性

4,hgetall user1 : 查看key为user1的hash结构的所有属性和值

5,hdel user1 age : 删除key为user1的hash结构的age属性和值

6,hlen user1  :  查看key为user1的hash结果有多少个属性

7,hexists user1 age : 查看user1是否存在age属性和值

8,hincrby user1 age 1 : 让key为user1的age属性增加1

9,hincrbyfloat user1 age 0.8 : 让key为user1的age属性增加0.8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值