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
Redis常用命令
最新推荐文章于 2022-05-27 19:57:55 发布