Redis(二)安装及使用
安装
上传tar.gz包,并解压
tar -zxvf redis-5.0.4.tar.gz
安装gcc(必须有网络)
yum -y install gcc
忘记是否安装过,可以使用 gcc -v 命令查看gcc版本,如果没有安装过,会提示命令不存在
进入redis目录,进行编译
make
编译之后,开始安装
make install
安装后的操作
后台运行方式
redis默认不会使用后台运行,如果你需要,修改配置文件daemonize=yes,当你后台服务启动的时候,会写成一个进程文件运行。
找到 redis.conf 文件,修改 daemonize yes
以配置文件的方式启动
找到 redis-server 所在地
redis-server ../redis.conf
关闭数据库
单实例关闭
redis-cli shutdown
多实例关闭
redis-cli -p 6379 shutdown
常用操作
检测6379端口是否在监听
netstat -lntp | grep 6379
端口为什么是6379?
6379在是手机按键上MERZ对应的号码,
而MERZ取自意大利歌女Alessia Merz的名字。
MERZ长期以来被antirez(redis作者)及其朋友当作愚蠢的代名词。
检测后台进程是否存在
ps -ef|grep redis
连接redis并测试
redis-cli
ping
HelloWorld
# 保存数据
set k1 china
# 获取数据
get kl
测试性能
先 ctrl+c,退出redis客户端
redis-benchmark
执行命令后,命令不会自动停止,需要我们手动ctrl+c停止测试
[root@10-23-3-187 src]# redis-benchmark
====== PING_INLINE ======
100000 requests completed in 1.80 seconds # 1.8秒处理了10万个请求,性能要看笔记
本的配置高低
50 parallel clients
3 bytes payload
keep alive: 1
87.69% <= 1 milliseconds
99.15% <= 2 milliseconds
99.65% <= 3 milliseconds
99.86% <= 4 milliseconds
99.92% <= 5 milliseconds
99.94% <= 6 milliseconds
99.97% <= 7 milliseconds
100.00% <= 7 milliseconds
55524.71 requests per second # 每秒处理的请求数量
默认16个数据库
数据库键的数量
dbsize
redis在linux支持命令补全(tab)
清空数据库
清空当前库
flushdb
清空所有(16个)库,慎用!!
flushall
模糊查询(key)
模糊查询keys命令,有三个通配符:
-
*:通配任意多个字符
-
查询所有的键
keys *
-
模糊查询k开头,后面随便多少个字符
keys k*
-
模糊查询e为最后一位,前面随便多少个字符
keys *1
-
双 * 模式,匹配任意多个字符:查询包含k的键
keys *k*
-
-
?:通配单个字符
-
模糊查询k字头,并且匹配一个字符
keys k?
-
你只记得第一个字母是k,他的长度是3
keys k??
-
-
[]:通配括号内的某一个字符
-
记得其他字母,就第二个字母可能是a或e
keys r[ae]dis
-
键(key)
exists key:判断某个key是否存在
127.0.0.1:6379> exists k4
(integer) 1 # 存在
127.0.0.1:6379> exists d4
(integer) 0 # 不存在
move key db:移动(剪切,粘贴)键到几号库
127.0.0.1:6379> move k4 3 #将k4移动到3号数据库
(integer) 1 #移动成功
127.0.0.1:6379> exists k4 #判断当前库有没有k4
(integer) 0 #不存在
127.0.0.1:6379> select 3 #切换到3号库
OK
127.0.0.1:6379[3]> exists k4 #判断当前库有没有k4
(integer) 1 #存在
ttl key:查看键还有多久过期(-1永不过期,-2已过期)
- time to live 还能活多久
127.0.0.1:6379[3]> ttl k4
(integer) -1 #永不过期
expire key 秒:为键设置过期时间(生命倒计时)
127.0.0.1:6379[3]> set k1 v1 #写入k1
OK
127.0.0.1:6379[3]> ttl k1 #查看k1何时过期
(integer) -1 #永不过期
127.0.0.1:6379[3]> expire k1 10 #设置k1的过期时间为10秒,10秒后自动销毁
(integer) 1 #设置成功
127.0.0.1:6379[3]> get k1 #获取k1的值
"v1"
127.0.0.1:6379[3]> ttl k1 #查看k2何时过期
(integer) 2 #还有2秒过期
127.0.0.1:6379[3]> get k1 #获取k1
(nil) #获取不到
127.0.0.1:6379[3]> keys * #查询所有键
(empty list or set)
type key:查看键的数据类型
127.0.0.1:6379[3]> type k1
string #字符串类型