Redis(二)安装及使用

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			#字符串类型

猜你喜欢

转载自blog.csdn.net/weixin_49741990/article/details/112744696