首先查看使用 redis-server --version 查看redis的版本,此处我使用的是 5.0.3 版本
指令 ps -ef|grep redis 查看redis进程 即 查看redis是否开启
[root@localhost bin]# redis-server --version
Redis server v=5.0.3 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=afabdecde61000c3
[root@localhost bin]# ps -ef|grep redis
redis 5918 1 0 17:10 ? 00:00:13 /usr/local/redis/bin/redis-server 127.0.0.1:6379
root 7318 7064 0 18:49 pts/0 00:00:00 grep --color redis
#出现下面内容,代表redis已经启动
redis 5918 1 0 17:10 ? 00:00:13 /usr/local/redis/bin/redis-server 127.0.0.1:6379
redis 默认情况下有 16 个数据库序号为(0——15) 默认情况下是使用的序号为 0 的数据库。
Redis 默认有16个数据库,即16个database
Select 【数字】 转到第几个数据库
Dbsize 查看当前数据库有多少个key
Keys * 当前库的key查询出来
Flushdb 清除当前库
Flushall 清除所有库
Auth 【密码】 认证密码
Exists【key的名字】 判断某个key是否存在
Move key 【db序号】 将当前库的key剪切到指定db序号
Expire key【时间秒】 为给定的key设置过期时间,过期后会移除系统
Ttl key 查看还有多少秒过期,-1表示永远不过期,-2表示已过期
Type key 查看你的key是什么类型
Del key 删除key
127.0.0.1:6379> set test1 10
OK
127.0.0.1:6379> get test1
"10"
127.0.0.1:6379> strlen test1
(integer) 2
127.0.0.1:6379> incr test1
(integer) 11
127.0.0.1:6379> incrby test1 5
(integer) 16
127.0.0.1:6379> decr test1
(integer) 15
127.0.0.1:6379> decrby test1 5
(integer) 10
127.0.0.1:6379> getrange test1 0 -1
"10"
127.0.0.1:6379> setrange test1 0 x
(integer) 2
127.0.0.1:6379> get test1
"x0"
127.0.0.1:6379> setex test2 20 233
OK
127.0.0.1:6379> setnx test3 12
(integer) 1
127.0.0.1:6379> setnx test3 123
(integer) 0
127.0.0.1:6379> mset test4 234 test5 345 test6 456
OK
127.0.0.1:6379> mget test1 test4 test5 test6
1) "x0"
2) "234"
3) "345"
4) "456"
redis中操作string的指令解释说明:
String操作类型:
Set key value 设置key,value
Get key 获得值key对应的value的值
Strlen key 获得key对应的value的长度
Incr key 对key对应的value的值自增1
Incrby key 【数字】 指定数字递增
Decr key 对key对应的value的值自减1
Decrby key 【数字】 指定数字递减
Getrange key 0 -1 显示指定范围的key对应的value值(0到-1显示全部)
Setrange key 0 x 从零开始,修改原来的值,将原来的修改;原来为“10”执行后为“x0”
Setex key 【过期时间秒】 value 设置值的同时给定过期时间
Setnx key value 若key不存在,设置value值才会成功
Mset key value key value key value 一次性设置多个值
Mget key key key 一次性获得多个值
Msetnx key value key value 一次性设置多个之前不存在的值,若其中有一个key存在的话就不会成功
127.0.0.1:6379> lpush list2 1 2 3 4 5 6
(integer) 6
127.0.0.1:6379> rpush list3 1 2 3 4 5 6
(integer) 6
127.0.0.1:6379> lrange list2 0 -1
1) "6"
2) "5"
3) "4"
4) "3"
5) "2"
6) "1"
127.0.0.1:6379> lrange list3 0 -1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
6) "6"
127.0.0.1:6379> lpop list2
"6"
127.0.0.1:6379> lrange list2 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
5) "1"
127.0.0.1:6379> rpop list3
"6"
127.0.0.1:6379> lrange list3 0 -1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
127.0.0.1:6379> lindex list3 0
"1"
127.0.0.1:6379> rpush list3 1 1
(integer) 7
127.0.0.1:6379> lrange list3 0 -1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
6) "1"
7) "1"
127.0.0.1:6379> lrem list3 3 1
(integer) 3
127.0.0.1:6379> lrange list3 0 -1
1) "2"
2) "3"
3) "4"
4) "5"
127.0.0.1:6379> ltrim list3 0 2
OK
127.0.0.1:6379> lrange list3 0 -1
1) "2"
2) "3"
3) "4"
127.0.0.1:6379> lset list3 2 3
OK
127.0.0.1:6379> lrange list3 0 -1
1) "2"
2) "3"
3) "3"
127.0.0.1:6379> linsert list3 before 3 1
(integer) 4
127.0.0.1:6379> lrange list3 0 -1
1) "2"
2) "1"
3) "3"
4) "3"
redis中操作 list的指令解释说明:
list操作类:
Lpush key value value value 存值,结果先进后出
Rpush key value value value 存值,结果按顺序,先进先出
Lrange key 0 -1 查看list中的数据(0到-1显示全部)
Lpop key 出栈,从左到右,每次出栈一个元素,相当于从list中删除
Rpop key 出栈,从右到左,每次出栈一个元素,相当于从list中删除
Lindex key 【下标】 具体显示list中角标对应的值,从0开始计数
Lrem key 【数字】 【元素】 删除list中几个相同的元素
Ltrim key 【下标1】【下标2】 截取出保存下标1到下标2的元素,其他下标对应的元素被删除
Lset key 【下标】 【元素】 修改list数字中对应下标的元素
Linsert key before/after 【元素1】【元素2】 在元素1的前面/后面 插入元素2,若元素1有多个,则只对最前面的那个匹配元素1的元素的前后进行操作
r是对底部进行操作,l是对顶部进行操作
127.0.0.1:6379> sadd set2 1 2 3 4
(integer) 4
127.0.0.1:6379> smembers set2
1) "1"
2) "2"
3) "3"
4) "4"
127.0.0.1:6379> scard set2
(integer) 4
127.0.0.1:6379> srem set2 3 4
(integer) 2
127.0.0.1:6379> smembers set2
1) "1"
2) "2"
127.0.0.1:6379> sadd set2 3 4 5 6
(integer) 4
127.0.0.1:6379> srandmember set2 3
1) "1"
2) "5"
3) "2"
127.0.0.1:6379> spop set2 2
1) "2"
2) "1"
127.0.0.1:6379> smembers set2
1) "3"
2) "4"
3) "5"
4) "6"
127.0.0.1:6379> sadd set3 0
(integer) 1
127.0.0.1:6379> smove set2 set3 3
(integer) 1
127.0.0.1:6379> smembers set3
1) "0"
2) "3"
127.0.0.1:6379> sdiff set2 set3
1) "4"
2) "5"
3) "6"
redis中操作 set的指令解释说明:
set操作:
Sadd key 【元素1】【元素2】【元素3】 一次性添加多个元素,会自动去重
Smembers key 查看当前key中的所有元素
Scard key 获取元素个数
Srem key 【元素】【元素】【元素】 删除指定元素
Srandmember key 【数字】 在指定的set中随机的显示三个数字
Spop key 【数字】 随机出栈指定的个数个元素
Smove key1 key2 【key1中的元素】 将key1中的元素剪切到key2中
Sdiff key1 key2 显示出存在于set1中但不存在于set2中的元素
Sinter key1 key2 显示出key1和key2共同拥有的元素 交集
Sunion key1 key2 显示出key1和key2两者相加的所有元素 并集
127.0.0.1:6379> hset hash2 test1 1 test2 2 test3 3
(integer) 3
127.0.0.1:6379> hget hash2 test1
"1"
127.0.0.1:6379> hgetall hash2
1) "test1"
2) "1"
3) "test2"
4) "2"
5) "test3"
6) "3"
127.0.0.1:6379> hmset hash3 test3 3 test4 4
OK
127.0.0.1:6379> hgetall hash3
1) "test3"
2) "3"
3) "test4"
4) "4"
127.0.0.1:6379> hdel hash3 test3
(integer) 1
127.0.0.1:6379> hgetall hash3
1) "test4"
2) "4"
127.0.0.1:6379> hlen hash2
(integer) 3
127.0.0.1:6379> hexists hash2 test3
(integer) 1
127.0.0.1:6379> hkeys hash2
1) "test1"
2) "test2"
3) "test3"
127.0.0.1:6379> hvals hash2
1) "1"
2) "2"
3) "3"
127.0.0.1:6379> hincrby hash2 test3 2
(integer) 5
127.0.0.1:6379> hvals hash2
1) "1"
2) "2"
3) "5"
127.0.0.1:6379> hsetnx hash2 test2 2
(integer) 0
127.0.0.1:6379> hsetnx hash2 test2 6
(integer) 0
127.0.0.1:6379> hvals hash2
1) "1"
2) "2"
3) "5"
redis中操作 hash的指令解释说明:
hash操作: 键值对
Hset hash key1 value1 key2 value2 设置值,hash允许重复 当key重复的时候会覆盖前面出现的key
Hget hash key 获取value
Hgetall hash 获取所有的key和value
Hmset hash key1 value1 key2 value2 一次存一个对象的多个不同的value
Hdel hash key 删除指定的key
Hlen hash 查看长度
Hexists hash key 判断hash中key是否存在
Hkeys hash 获取所有的key值
Hvals hash 获取所有的value值
Hincrby hash key 【整数数字】 指定的key按指定的数字递增
Hincrbyfloat hash key 【小数】 指定的key按指定的小数递增
Hsetnx hash key value 若key值在hash中不存在就添加
127.0.0.1:6379> zadd zset2 1 test1 3 test3 2 test2
(integer) 3
127.0.0.1:6379> zrange zset2 0 -1
1) "test1"
2) "test2"
3) "test3"
127.0.0.1:6379> zrange zset2 0 -1 withscores
1) "test1"
2) "1"
3) "test2"
4) "2"
5) "test3"
6) "3"
127.0.0.1:6379> zrangebyscore zset2 1 3
1) "test1"
2) "test2"
3) "test3"
127.0.0.1:6379> zrangebyscore zset2 (1 3
1) "test2"
2) "test3"
127.0.0.1:6379> zrangebyscore zset2 1 3 limit 2 2
1) "test3"
127.0.0.1:6379> zrem zset2 test3
(integer) 1
127.0.0.1:6379> zrange zset2 0 -1 withscores
1) "test1"
2) "1"
3) "test2"
4) "2"
127.0.0.1:6379> zcard zset2
(integer) 2
127.0.0.1:6379> zadd zset2 3 test3 5 test5 4 test4
(integer) 3
127.0.0.1:6379> zcount zset2 2 4
(integer) 3
127.0.0.1:6379> zrank zset2 test3
(integer) 2
127.0.0.1:6379> zscore zset2 test3
"3"
127.0.0.1:6379> zrevrank zset2 test3
(integer) 2
127.0.0.1:6379> zrevrange zset2 0 -1
1) "test5"
2) "test4"
3) "test3"
4) "test2"
5) "test1"
127.0.0.1:6379> zrevrangebyscore zset2 5 3
1) "test5"
2) "test4"
3) "test3"
redis中操作 zset的指令解释说明:
zset操作:有序集合 key不允许重复 zset(key value)key值必须是数字(key为序号,依据此序号来排序)
Zadd zset key1 value1 key2 value2 一次性添加多个数据
Zrange zset 0 -1 显示所有的value值,当范围为 0 到 -1 时显示全部,下标从0开始
Zrange zset 0 -1 withscores 现在所有的key和value,当范围为 0 到 -1 时显示全部,下标从0开始
Zrangebyscore zset 【key1】【key2】 显示key1到key2之间的key的值(包含数字1和数字2) 数字2比数字1大
Zrangebyscore zset 【(key1】【key2】 显示key1到key2之间的key的值(加了前括号就不包含改数字)
zrangebyscore zset 【key1】【key2】 limit【key3】【数字4】 从结果中截取key3开始截取 数字4 个元素
Zrem zset value1 value2 value3 删除指定的key中的value
Zcard zset 统计zset中key的个数
Zcount zset 【key1】【key2】 统计key1到key2之间的key个数
Zrank zset value 通过value的值value所在的下标
Zscore zset value 获取key的值
Zrevrank zset value 显示倒叙过来的下标
Zrevrange zset 0 -1 倒叙显示所有value
Zrevrangbyscore zset [key1] [key2] 倒叙显示key1到key2的之间的value值
这里key1比key2大