redis基本操作命令
启动服务
redis-server /opt/redis_cluster/redis_6379/conf/redis_6379.conf
ps -ef|grep redis
root 27813 1 0 15:43 ? 00:00:00 redis-server 10.0.0.51:6379
root 27817 9658 0 15:44 pts/1 00:00:00 grep --color=auto redis
进入客户端
[root@db01 ~]# redis-cli
127.0.0.1:6379>
关闭服务
[root@db01 ~]# redis-cli -h db01
db01:6379> SHUTDOWN
[root@db01 ~]# redis-cli shutdown
配置文件目录:
/opt/redis_cluster/redis/redis.conf
redis根据数据类型不同,操作命令也不同。按照redis的数据类型,分别列出了常用的操作命令。
0、全局命令
Redis有5种数据结构,他们是键值对中的值,对于键来说有一些通用的命令
redis五种数据结构和应用场景
- 字符串 优惠券过期 帖子浏览数计数
- 哈希 mysql缓存,对应表关系
- 集合 兴趣爱好标签 共同好友 共同爱好 精确广告投放
- 列表 排行榜
查看所有信息(版本、cpu、内存)
info
127.0.0.1:6379> info
查看所有配置信息
127.0.0.1:6379> CONFIG GET *
支持热更新配置(部分配置支持动态配置,重启服务就没了)
例如:
127.0.0.1:6379> CONFIG GET save
1) "save"
2) ""
127.0.0.1:6379> CONFIG SET save "60 100 300 10 600 1"
OK
127.0.0.1:6379> CONFIG GET save
1) "save"
2) "60 100 300 10 600 1"
查看所有命键
keys *(十分危险,线上禁止使用)
查看键的总数
dbsize (命令在计算键总数时不会遍历所有键,而是直接获取redis内置的键总数变量)
127.0.0.1:6379> DBSIZE
(integer) 6
检查键是否存在
exists key(如果键存在则返回1,不存在则返回0)
删除键
del key [key ···](通用命令,无论值是什么数据结构类型,del命令都可以将其删除)
键过期
expire key seconds(redis 支持对键添加过期时间,当超过时间后,会自动删除键;
通过ttl命令观察键的剩余时间,大于等于0的证书:键剩余过期时间,-1:键没设置过期时间,-2:键不存在)
键的数据类型
type key
127.0.0.1:6379> TYPE k1
string
1、字符串(优惠券 文本) -1 永不过期 -2 键不存在
[root@db01 ~]# vim test.txt
sdhajkshdaklshdh塑料袋看见爱上空间大了斯柯达奥斯卡加大了快速解答三大宿建德江
"test.txt" 1L, 107C written
[root@db01 ~]# redis-cli set txt1 $(cat test.txt)
OK
[root@db01 ~]# redis-cli get txt1
"sdhajkshdaklshdh\xe5\xa1\x91\xe6\x96\x99\xe8\xa2\x8b\xe7\x9c\x8b\xe8\xa7\x81\xe7\x88\xb1\xe4\xb8\x8a\xe7\xa9\xba\xe9\x97\xb4\xe5\xa4\xa7\xe4\xba\x86\xe6\x96\xaf\xe6\x9f\xaf\xe8\xbe\xbe\xe5\xa5\xa5\xe6\x96\xaf\xe5\x8d\xa1\xe5\x8a\xa0\xe5\xa4\xa7\xe4\xba\x86\xe5\xbf\xab\xe9\x80\x9f\xe8\xa7\xa3\xe7\xad\x94\xe4\xb8\x89\xe5\xa4\xa7\xe5\xae\xbf\xe5\xbb\xba\xe5\xbe\xb7\xe6\xb1\x9f"
[root@db01 ~]# redis-cli get txt1 >mytxt.log
[root@db01 ~]# cat mytxt.log
sdhajkshdaklshdh塑料袋看见爱上空间大了斯柯达奥斯卡加大了快速解答三大宿建德江
[root@db01 ~]# redis-cli get txt1 >1
[root@db01 ~]# cat 1
sdhajkshdaklshdh塑料袋看见爱上空间大了斯柯达奥斯卡加大了快速解答三大宿建德江
127.0.0.1:6379> set num1 100
OK
127.0.0.1:6379> INCR num1
(integer) 101
127.0.0.1:6379> TYPE num1
string
127.0.0.1:6379> get num1
"101"
127.0.0.1:6379> INCRBY num1 10
(integer) 111
127.0.0.1:6379> MSET k4 v4 k5 v5
OK
127.0.0.1:6379> Mget k4 v4 k5 v5
1) "v4"
2) (nil)
3) "v5"
4) (nil)
127.0.0.1:6379> EXISTS k4
(integer) 1
127.0.0.1:6379> EXISTS k9
(integer) 0
127.0.0.1:6379> DEL v4
(integer) 0
127.0.0.1:6379> DEL k4
(integer) 1
127.0.0.1:6379> DEL k4
(integer) 0
127.0.0.1:6379> DEL k4
(integer) 0
127.0.0.1:6379> TTL k1
(integer) -1
127.0.0.1:6379> EXPIRE k1 10
(integer) 1
127.0.0.1:6379> TTL k1
(integer) 8
127.0.0.1:6379> TTL k1
(integer) 6
127.0.0.1:6379> TTL k1
(integer) 5
127.0.0.1:6379> TTL k1
(integer) 5
127.0.0.1:6379> TTL k1
(integer) 4
127.0.0.1:6379> TTL k1
(integer) 3
127.0.0.1:6379> TTL k1
(integer) 2
127.0.0.1:6379> TTL k1
(integer) 1
127.0.0.1:6379> TTL k1
(integer) -2
127.0.0.1:6379> TTL k1
(integer) -2
2、列表(排行榜)
127.0.0.1:6379> RPUSH list1 A
(integer) 1
127.0.0.1:6379> RPUSH list1 B
(integer) 2
127.0.0.1:6379> RPUSH list1 C
(integer) 3
127.0.0.1:6379> LPUSH list1 top
(integer) 4
127.0.0.1:6379> LPUSH list1 top2
(integer) 5
127.0.0.1:6379> LRANGE list1
(error) ERR wrong number of arguments for 'lrange' command
127.0.0.1:6379> LRANGE list1 A C
(error) ERR value is not an integer or out of range
127.0.0.1:6379> LRANGE list1 1 1
1) "top"
127.0.0.1:6379> LRANGE list1 2 2
1) "A"
127.0.0.1:6379> LRANGE list1 3 3
1) "B"
127.0.0.1:6379> LRANGE list1 4 4
1) "C"
127.0.0.1:6379> LRANGE list1 4 1
(empty list or set)
127.0.0.1:6379> LRANGE list1 1 4
1) "top"
2) "A"
3) "B"
4) "C"
127.0.0.1:6379> LRANGE list1 0 4
1) "top2"
2) "top"
3) "A"
4) "B"
5) "C"
127.0.0.1:6379> LRANGE list1 0 -1
1) "top2"
2) "top"
3) "A"
4) "B"
5) "C"
127.0.0.1:6379> LRANGE list1 1 -1
1) "top"
2) "A"
3) "B"
4) "C"
127.0.0.1:6379> LRANGE list1 2 -1
1) "A"
2) "B"
3) "C"
3、哈希(mysql的缓存层)
127.0.0.1:6379> hmset user:1000 username taogang age 30 job it
OK
127.0.0.1:6379> hmget user:1000 username
1) "taogang"
127.0.0.1:6379> hmget user:1000 username age job
1) "taogang"
2) "30"
3) "it"
127.0.0.1:6379> hgetall user:1000
1) "username"
2) "taogang"
3) "age"
4) "30"
5) "job"
6) "it"
127.0.0.1:6379> hmset user:1000 email 1179349441@qq.com
OK
127.0.0.1:6379> hgetall user:1000
1) "username"
2) "taogang"
3) "age"
4) "30"
5) "job"
6) "it"
7) "email"
8) "1179349441@qq.com"
4、集合(推荐系统 兴趣标签 广告精确投放)
127.0.0.1:6379> SADD 1 2 3
(integer) 2
127.0.0.1:6379> SADD set1 1 2 3
(integer) 3
127.0.0.1:6379> SADD set1 1 2 3 5 7
(integer) 2
127.0.0.1:6379> SMEMBERS set1
1) "1"
2) "2"
3) "3"
4) "5"
5) "7"
127.0.0.1:6379> SADD set2 3 6 8 5 7
(integer) 5
127.0.0.1:6379> SMEMBERS set2
1) "3"
2) "5"
3) "6"
4) "7"
5) "8"
127.0.0.1:6379> SADD set1 1
(integer) 0
127.0.0.1:6379> SADD set1 11
(integer) 1
127.0.0.1:6379> SMEMBERS set1
1) "1"
2) "2"
3) "3"
4) "5"
5) "7"
6) "11"
127.0.0.1:6379> SMEMBERS set2
1) "3"
2) "5"
3) "6"
4) "7"
5) "8"
127.0.0.1:6379> SDIFF set1 set2
1) "1"
2) "2"
3) "11"
127.0.0.1:6379> SDIFF set2 set1
1) "6"
2) "8"
127.0.0.1:6379> sadd set3 1 5 12 9
(integer) 4
127.0.0.1:6379> SDIFF set2 set1 set3
1) "6"
2) "8"
127.0.0.1:6379> SDIFF set3 set1 set1
1) "9"
2) "12"
浙公网安备 33010602011771号