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

 

posted @ 2025-11-18 11:11  业余砖家  阅读(258)  评论(0)    收藏  举报