1 案例1:搭建redis服务器

1.1 具体要求如下

  1. 在主机redis64运行redis服务
  2. 修改服务运行参数
  • ip 地址192.168.88.64
  • 服务监听的端口6364
  • redis服务的连接密码为 tarenaplj

1.2 方案

准备1台新虚拟机,要求如表-1所示。

搭建redis服务器_redis常用命令

表-1

准备虚拟机,在真机执行如下命令

vm  clone  redis64
 vm  setip  redis64  192.168.88.64
 exit

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:在主机redis64运行redis服务

命令操作如下所示:

[root@redis64 ~]# yum -y install redis  安装软件
 [root@redis64 ~]# systemctl  start redis 启动服务
 
 [root@redis64 ~]# netstat  -utnlp  | grep redis-server  查看端口
 tcp        0      0 127.0.0.1:6379    0.0.0.0:*    LISTEN      1970/redis-server 1
 [root@redis64 ~]# redis-cli  连接服务
 127.0.0.1:6379> ping 检查能否正在访问
 PONG  表示可以正常访问、
 127.0.0.1:6379> set school tarena 存储变量
 OK
 127.0.0.1:6379> keys *  查看已有变量
 127.0.0.1:6379> get school 查看变量值
 "tarena"
 127.0.0.1:6379> exit 断开连接
 [root@redis64 ~]#

步骤二:修改服务运行参数

停止服务

[root@redis64 ~]# systemctl  stop redis

修改配置文件

[root@redis64 ~]# vim /etc/redis.conf  
 69 bind 192.168.88.64  IP地址
 92 port 6364 端口号
 647 requirepass tarenaplj 密码
 :wq

禁用selinux

[root@redis64 ~]# setenforce 0

重启服务

[root@redis64 ~]# systemctl start redis

查看端口

[root@redis64 ~]# netstat  -utnlp  | grep redis-server
 tcp   0    0 192.168.88.64:6364   0.0.0.0:*    LISTEN      2009/redis-server 1 
 [root@redis64 ~]#

连接服务

[root@redis64 ~]# redis-cli  -h 192.168.88.64 -p 6364 –a tarenaplj
 192.168.88.64:6364> keys *  查看存储的变量
 1) "school"
 192.168.88.64:6364> exit  断开连接

[root@redis64 ~]# redis-cli  -h 192.168.88.64 -p 6364 连接服务
 192.168.88.64:6364> ping 不输入密码无法正常访问
 (error) NOAUTH Authentication required.
 192.168.88.64:6364> auth tarenaplj  输入密码
 OK
 192.168.88.64:6364> keys *  查看存储的变量
 1) "school"
 192.168.88.64:6364> exit  断开连接
 [root@redis64 ~]#


2 案例2:常用命令

2.1 问题

1)练习如下命令的使用

  • mset mget keys type
  • exists ttl expire move select
  • del flushdb flushall

2.2 方案

在搭建的redis64练习常用命令的使用。

2.3 步骤

实现此案例需要按照如下步骤进行。

mset 一起存储多个变量

192.168.88.64:6364> mset name plj  age 80 class nsd2403    
 OK
 192.168.88.64:6364> keys *
 1) "age"
 2) "classs"
 3) "name"
 4) "school"

mget一起查看多个变量值

192.168.88.64:6364> mget name age  
 1) "plj"
 2) "80"

keys 使用统配符查看变量

* 匹配所有变量名

? 一个字符

192.168.88.64:6364> keys *   查看所有变量名
 1) "age"   
 2) "classs"
 3) "name"
 4) "school"
 192.168.88.64:6364> keys ???  变量名3个字符
 1) "age"
 192.168.88.64:6364> keys a*   变量名a 开头的
 1) "age"
 192.168.88.64:6364> 
 192.168.88.64:6364> keys gender 查看指定变量是否存在
 (empty list or set) 说明变量没不存在
 
 192.168.88.64:6364> keys name  存在
 1) "name"
 192.168.88.64:6364>

select 切换库 ,默认库编号 0-15

192.168.88.64:6364> select 1  切换到 1号库里
 OK
 192.168.88.64:6364[1]> keys * 查看数据没有数据
 (empty list or set)
 192.168.88.64:6364[1]> 
 192.168.88.64:6364[1]> select 0  切回0号库
 OK
 192.168.88.64:6364> select 16   超出范围报错
 (error) ERR DB index is out of range

move 命令 移动变量到其他库里

查看变量
 192.168.88.64:6364> keys *
 1) "age"
 2) "classs"
 3) "name"
 4) "school"
 把age 变量移动到1 号库里
 192.168.88.64:6364> move age 1   
 (integer) 1 
 
 切换到1号库
 192.168.88.64:6364> select  1
 OK
 查看变量
 192.168.88.64:6364[1]> keys *
 1) "age"

exists 检查变量是否存储 返回值1 变量存储 返回值是0 变量不存在

切换到0号库
 192.168.88.64:6364[1]> select 0
 OK
 检查name变量是否存在
 192.168.88.64:6364> exists name  
 (integer) 1
 192.168.88.64:6364> exists swy  
 (integer) 0

EXPIRE 命令设置变量的过期时间 不设置变量永不过期

ttl 检查变量可以在内存里存多久

存储变量
 192.168.88.64:6364> set sex girl 
 OK
 查看过期时间
 192.168.88.64:6364> ttl sex
 (integer) -1  表示永不过期
 
 设置过期时间15 秒
 192.168.88.64:6364> expire sex 15  
 (integer) 1
 没到过期时间可以查看到变量
 192.168.88.64:6364> keys sex
 1) "sex"
 查看剩余时间
 192.168.88.64:6364> ttl sex
 (integer) 8  还剩下8秒时间过期
 192.168.88.64:6364> ttl sex
 (integer) -2  表示已经过期被删除
 过期后查看不到变量了
 192.168.88.64:6364> keys  sex
 (empty list or set)
 192.168.88.64:6364>

type 命令检查变量存储数据的类型

192.168.88.64:6364> set x 99
 OK
 192.168.88.64:6364> mset y 108
 OK
 192.168.88.64:6364> type x
 string
 192.168.88.64:6364> type y
 String
 
 定义类别类型的变量tea
 192.168.88.64:6364> lpush  tea nb  wk  zzg plj lx  
 
 查看数据类型 
 192.168.88.64:6364> type tea  
 list

del 删除内存里的变量

192.168.88.64:6364> keys *   删除前查看
 1) "y"
 2) "tea"
 3) "name"
 4) "school"
 5) "x"
 6) "classs"
 192.168.88.64:6364> del tea y school  一起删除3个变量
 (integer) 3
 192.168.88.64:6364> keys * 删除后查看
 1) "name"
 2) "x"
 3) "classs"
 192.168.88.64:6364>

flushdb 删除当前所在库的所有数据

192.168.88.64:6364> keys *
 1) "name"
 2) "x"
 3) "classs"
 192.168.88.64:6364> flushdb
 OK
 192.168.88.64:6364> keys *
 (empty list or set)
 192.168.88.64:6364> SELECT 1
 OK
 192.168.88.64:6364[1]> keys *
 1) "age"

Flushall 清空内存

192.168.88.64:6364[1]> flushall 删除内存里的所有内存里所有数据 (慎用)