redis学习01--常用命令

1.Redis存储数据的结构

常用的5种数据结构

(1)key-string:一个key对于一个值

(2)key-hash:一个key对应一个Map

(3)key-list:一个key对应一个列表

(4)key-set:一个key对应一个集合

(5)key-zset:一个key对应一个有序的集合

另外三种数据结构:

HyperLogLog:计算近似值

GEO:地理位置

BIT:位图,一般存储的也是一个字符串,存储的是一个byte[]

2.string常用命令

文档:http://redisdoc.com/string/index.html#

 1 # 1、添加值
 2 set key value
 3 
 4 #2、取值
 5 get key
 6 
 7 #3、批量操作
 8 mset key value [key value...]
 9 mget key [key...]
10 #4、自增命令(自增1)
11 incr key
12 
13 #5、自减命令(自减1)
14 decr key
15 
16 #6、自增或自减指定数量
17 incrby key increment
18 decrby key increment
19 #7、设置值的同时设置生存时间(每次向redis中添加数据时,尽量都设置生存时间)
20 setex key second value
21 
22 #8、设置值,如果当前key不存在的话(如果这个key存在,什么事都不做,如果这个key不存在,和set命令一样)
23 setnx key value
24 
25 #9、在key对应的value后,追加内容
26 append key value
27 
28 #10、查看value字符串的长度
29 strlen key

3.hash常用命令

 1 #1、存储数据
 2 hset key field value
 3 
 4 #2、获取数据
 5 hget key field
 6 
 7 #3、批量操作
 8 hmset key field value [field value ...]
 9 hmget key field [field ...]
10 #4、自增(指定自增的值)
11 hincrby key field increment
12 #5、设置值(如果key-field不存在,那么就正常添加,如果存在,什么事都不做)
13 hsetnx key field value
14 
15 #6、检查field是否存在
16 hexists key field
17 
18 #7、删除key对应的某个或多个field
19 hdel key field [field...]
20 #8、获取当前hash结构中的全部field和value
21 hgetall key
22 
23 #9、获取当前hash结构中的全部field
24 hkeys key
25 
26 #10、获取当前hash结构中的全部value
27 hvals key
28 
29 #11、获取当前hash结构中field的数量
30 hlen key

4.list常用命令

 1 #1、存储数据(从左侧插入数据,从右侧插入数据)
 2 lpush key value [value...]
 3 rpush key value [value...]
 4 
 5 #2、存储数据(如果key不存在,什么事都不做,如果key存在,但是不是list机构,什么都不做)
 6 lpushx key value
 7 rpushx key value
 8 
 9 #3、修改数据(修改指定索引位置的值,如果index超出整个列表的长度会失败)
10 lset key index value
11 #4、弹栈方式获取数据(左侧/右侧弹出数据)
12 lpop key
13 rpop key
14 
15 #5、获取指定索引范围的数据(start从0开始,stop输入-1,代表最后一个,-2代表倒数第二部)
16 lrange key start stop
17 
18 #6、获取指定索引位置的数据
19 lindex key index
20 
21 #7、获取整个列表的长度
22 llen key
23 #8、删除列表中的数据(他是删除当前列表中的count个value值,count>0从左侧向右侧删除,count<0从右侧向左侧删除),count=0,删除列表全部的value
24 lrem key count value
25 
26 #9、保留列表中的数据(保留指定范围内的数据,超过整个索引范围被移除掉)
27 ltrim key start stop
28 
29 #10、将一个列表中最后的一个数据,插入到另外一个列表的头部位置
30 rpoplpush list1 list2

5.set常用命令

 1 #1、存储数据
 2 sadd key member [member...]
 3 
 4 #2、获取数据(获取全部数据)
 5 smembers key
 6 
 7 #3、随机获取一个数据(获取的同时移除数据,count默认为1,代表弹出数据的数量)
 8 spop key [count]
 9 #4、交集(取多个set集合交集)
10 sinter set1 set2...
11 
12 #5、并集(获取全部集合中的数据)
13 sunion set1 set2...
14 
15 #6、差集(获取多个集合中不一样的数据,使用第一个集合进行取进行比较)
16 sdiff set1 set2...
17 #7、删除数据
18 srem key member [member...]
19 
20 #8、查看当前的set集合中是否包含这个值
21 sismember key member

6.zset常用命令

 1 #1、添加数据(score必须是数值,member不允许重复)
 2 zadd key score member [score member...]
 3 
 4 #2、修改member的分数、(如果member是存在于key中的,正常增加分数,如果member不存在,这个命令相当于zadd)
 5 zincrby key increment member
 6 #3、查看指定的member的分数
 7 zscore key member
 8 
 9 #4、获取zset中数据的数量
10 zcard key
11 
12 #5、根据score的范围查询member数量
13 zcount key min max
14 
15 #6、删除zset中的成员
16 zrem key member [member...]
17 #7、根据分数从小到大排序,获取指定范围内的数据(withscores如果添加这个参数,那么会返回member对应的分数)
18 zrange key start stop [withscores]
19 
20 #8、根据分数从大到小排序,获取指定范围内的数据(withscores如果添加这个参数,那么会返回member对应的分数)
21 zrevrenge key start stop [withscores]
22 
23 #9、根据分数的范围获取member(withscores代表同时返回score,添加limit,就和MySQL中一样,如果不希望等于min或者max的值被查询出来,可以采用‘(分数’ 相当于<或者>,但不等于,是一个开区间,最大值和最小值使用+inf和-inf来标识)
24 zrangebyscore key min max [withsores] [limit offset count]
25 
26 #10、根据分数的范围获取member(withscores代表同时返回score,添加limit,就和MySQL中一样)
27 zrevrangebyscore key max min [withsores] [limit offset count]

7.key常用命令

 1 #1、查看Redis中的全部key(pattern:*,xxx*,*xxx)
 2 keys pattern
 3 
 4 #2、查看某一个key是否存在(1 - key存在,0 - key不存在)
 5 exists key
 6 
 7 #3、删除key
 8 del key [key...]
 9 #4、设置key的生存时间,单位为秒,单位为毫秒.
10 expire key second
11 pexpire key milliseconds
12 
13 #5、设置key的生存时间,单位为秒,单位为毫秒,设置能活到什么时间点
14 expireat key timestamp
15 pexpireat key milliseconds
16 
17 #6、查看key的剩余生存时间,单位为秒,单位为毫秒(-2 - 当前key不存在;-1 - 当前key没有设置生存时间;具体的生存时间)
18 ttl key
19 pttl key
20 
21 #7、移除key的生存时间(1 - 移除成功,0 - key不存在生存时间,key不存在)
22 persist key
23 #8、选择操作的库
24 select 0~15
25 
26 #9、移动key到另外一个库中
27 move key db

8.库常用命令

 1 #1、清空当前所在的数据库
 2 flushdb
 3 
 4 #2、清空全部数据库
 5 flushall
 6 
 7 #3、查看当前数据库中有多少个key
 8 dbsize
 9 
10 #4、查看随后一次操作的时间
11 lastsave
12 
13 #5、实时监控Redis服务接收到的命令
14 monitor
原文地址:https://www.cnblogs.com/asenyang/p/14362757.html