Redis-8.2.2 的下载与安装
Redis的下载与安装
下载地址:https://redis.io/download/
下载历史版本:https://download.redis.io/releases/
redis的在线测试地址:https://try.redis.io/
命令参考:http://doc.redisfans.com/
1. 查看linux是否具有gcc编译环境
gcc -v #查看gcc版本
yum install gcc #若没有则需要安装gcc环境
2. 下载redis
我使用的是redis-8.2.2
cd /opt #进入redis压缩文件目录
wget https://download.redis.io/releases/redis-8.2.2.tar.gz # 下载redis
3. 安装reids
tar -zxvf redis-8.2.2.tar.gz # 将redis解压到当前目录
cd redis-8.2.2/ # 进入redis目录
make && make install # 执行make && make install 等待安装完成
等待命令执行完成,出现这句话则代表安装成功

默认的安装路径是 : /usr/local/bin
安装完成之后可以查看:

redis-benchmark: 性能测试工具,服务启动后运行该命令,能查看自己电脑性能如何
redis-check-aof: 修复有问题的AOF文件,rdb和aof
redis-check-dump: 修复有问题的dump.rdb文件
redis-cli: 客户端,操作入口
redis-sentinel: redis集群使用
redis-server: redis服务器启动命令
redis-server -v # 可查看安装的redis版本

cp redis.conf redis.conf_bak # 将配置文件复制备份一份
4. 修改配置文件
vi /opt/redis-8.2.2/redis.conf # 修改配置文件
a) daemonize
redis.conf配置文件中daemonize守护线程,默认是NO。
daemonize是用来指定redis是否要用守护线程的方式启动.
yes:redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。
no: 当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。
通常都要讲daemonize no改为yes

b) protected-mode
redis保护模式,为no的话别的机器可以直接连接本机的redis服务
如果为yes的话,别的机器只能通过设置bind添加服务器ip才能进行访问,或者通过密码方式进行访问,也即是设置参数requirepass,从而达到可以从其他机器访问的目标。
暂时设置为no,方便实用,上线的时候一定设置为yes。

c) bind 127.0.0.1
直接注释掉(默认bind 127.0.0.1只能本机访问)或改成本机IP地址,否则影响远程IP连接

d) 添加redis密码
改为 requirepass 你自己设置的密码

5. 启动redis 服务
redis-server /opt/redis-8.2.2/redis.conf # 使用指定配置文件启动redis
如果出现如下提示:

需要在/etc/sysctl.conf中添加
vi /etc/sysctl.conf
vm.overcommit_memory=1
使参数立即生效
sysctl vm.overcommit_memory=1

6. 启动redis 客户端
# 本地连接
redis-cli -a Redis@123 # 启动redis客户端
如果不想明文显示密码,可以使用—askpass。
# 连接时认证
redis-cli -h 127.0.0.1 -p 6379 -a Redis@123
# 直接执行查询
redis-cli -h 127.0.0.1 -p 6379 -a Redis@123 GET "k1"
# 遍历所有以 "k" 开头的键
redis-cli --askpass --scan --pattern "k*"
# 扫描匹配模式的键
redis-cli --scan --pattern "k*"
redis-cli --scan --pattern "k*" --count 100
redis-cli --scan --pattern "k*" | head -10 # 只显示前10个
# 交互式认证
redis-cli
127.0.0.1:6379> AUTH Redis@123
# 选择数据库(默认数据库为 0号数据库)
# 切换到1号数据库
127.0.0.1:6379> SELECT 1
# 查看连接信息
127.0.0.1:6379> CLIENT LIST
127.0.0.1:6379> CLIENT INFO
# 断开连接
QUIT
或者
EXIT
7. 基本操作(字符串类型)
设置Key和Value
SET k1 “hello world”
GET k1
SET k2 python
GET k2
设置新值并返回旧值
GET k1 hello
获取所有给定键的值
MGET k1 k2
说明:返回值的顺序与传入键的顺序一致。因此,我们可以在调用MGET时指定键的顺序,然后按照相同的顺序将键和值对应起来。
如果键已存在且是字符串,则将值追加到末尾(返回字符串长度)
APPEND k1 " World!"
返回键所存储的字符串值的长度
STRLEN k1
遍历所有的key
(1)、生产不推荐使用KEYS,一次性返回所有结果,可能导致阻塞服务器。
KEYS *
KEYS k*
KEYS *TP*
(2)、推荐使用SCAN,分批次执行不会阻塞。
SCAN 0
SCAN 0 MATCH "*TP*" COUNT 100
基本迭代:
SCAN 0
返回结果是一个数组,第一个元素是新的游标,第二个元素是本次扫描到的键的列表。
使用MATCH模式:
SCAN 0 MATCH "user:*"
这将匹配所有以"user:"开头的键。
指定COUNT:
SCAN 0 COUNT 100
提示SCAN命令每次返回大约100个键。
指定TYPE:
SCAN 0 MATCH "*" TYPE string
只返回字符串类型的键。
迭代直到完成:
使用循环,每次使用返回的游标作为下一次SCAN的游标,直到游标变为0。
检查一个键是否存在
EXISTS k1
删除一个或多个键
DEL k1 k2
返回键所存储的值的类型
TYPE k1
从当前数据库中随机返回一个键
RANDOMKEY
切换到指定的数据库
SELECT 1 # 切换到1号DB
验证服务器密码
AUTH Redis@123
清空当前数据库
FLUSHDB
清空所有数据库
FLUSHALL
获取连接到服务器的客户端连接列表
CLIENT LIST
本文来自博客园,作者:业余砖家,转载请注明原文链接:https://www.cnblogs.com/yeyuzhuanjia/p/19236510

浙公网安备 33010602011771号