Redis
安装 Redis
Linux-Centos
在 CentOS 系统上安装 Redis 可以通过多种方式,以下是两种常见的安装方法:
使用包管理器(例如 yum) 推荐
更新包管理器:
shsudo yum update
安装 Redis:
shsudo yum install redis
启动 Redis 服务:
shsudo systemctl start redis
设置 Redis 开机自启:
shsudo systemctl enable redis
检查 Redis 服务状态:
shsudo systemctl status redis
编译安装[未测试]
安装依赖: Redis 需要一些依赖包,如 gcc、tcl 等。可以使用以下命令安装:
shsudo yum groupinstall "Development Tools" sudo yum install -y tcl
下载 Redis: 访问 Redis 官网下载最新版本,或者使用 wget 命令:
shwget http://download.redis.io/redis-stable.tar.gz
解压 Redis:
shtar xzf redis-stable.tar.gz
编译 Redis:
shcd redis-stable make
安装 Redis(可选,将编译后的可执行文件安装到系统路径):
shmake install
配置 Redis: 根据需要编辑
redis.conf
文件,通常位于/usr/local/etc/redis/redis.conf
。启动 Redis: 使用以下命令启动 Redis 服务:
shredis-server /usr/local/etc/redis/redis.conf
设置 Redis 开机自启: 创建一个 systemd 服务文件,例如
/etc/systemd/system/redis.service
,并添加以下内容:ini[Unit] Description=Redis In-Memory Data Store After=network.target [Service] User=redis Group=redis ExecStart=/usr/local/bin/redis-server /usr/local/etc/redis/redis.conf ExecStop=/usr/local/bin/redis-cli shutdown Restart=always [Install] WantedBy=multi-user.target
然后启用并启动服务:
shsudo systemctl enable redis.service sudo systemctl start redis.service
检查 Redis 服务状态:
shsudo systemctl status redis.service
Windows
windows版本readis下载(GitHub):
https://github.com/tporadowski/redis/releases (推荐使用)
https://www.alipan.com/s/nPGuvvs3YB7 (Redis-x64-5.0.14.1.mis)
https://www.alipan.com/s/amShuVEGpqf (桌面可视化-Another-Redis-Desktop-Manager.1.5.2.exe)
官网下载(无Windows版本): https://redis.io/download
Redis中文网站: http://www.redis.cn
所有版本这里都有:https://download.redis.io/releases/
Docker
https://www.runoob.com/docker/docker-install-redis.html
Redis 配置的文件
- 默认配置文件通常位于
/etc/redis/
目录下。 - 主配置文件可能是
redis.conf
。
查找配置文件: 如果不确定配置文件的位置,可以使用 find
命令搜索整个系统:
find / -name redis.conf 2>/dev/null
安装完成后,Redis 的默认配置文件位于 /etc/redis.conf
( Linux)或 C:\Program Files\Redis\redis.windows.conf
(Windows)。 可以根据需要修改该文件中的配置。
以下是一些常见的配置选项:
bind
: 设置 Redis 监听的 IP 地址,默认为127.0.0.1
(即本地回环地址)。port
: 设置 Redis 监听的端口号,默认为6379
。requirepass
: 设置 Redis 访问密码。如果启用了访问密码,客户端必须在连接 Redis 时提供正确的密码才能成功连接。protected-mode
:设置 Redis 保护模式。保护模式默认只允许本地连接,禁止外部访问。
配置外网访问
1.修改bind 选项,并修改为 bind 0.0.0.0。这样 Redis 就会监听所有网络接口上的连接。
2.修改protected-mode 选项,并修改为 no。这样,Redis 就会接受来自任何 IP 地址的连接。
3.修改防火墙,开启ip白名单
4.重启redis服务
service redis restart
service redis status
在修改完配置文件后,你需要重启 Redis 以使更改生效。
常用命令
以下是一些常用的 Redis 命令及其说明:
字符串命令
SET key value
: 设置指定键的值。GET key
: 获取指定键的值。DEL key
: 删除指定的键。EXISTS key
: 检查指定的键是否存在。
示例:
# 设置键为 "mykey" 的值为 "Hello, Redis!"
SET mykey "Hello, Redis!"
# 获取键为 "mykey" 的值
GET mykey
# 输出:Hello, Redis!
# 检查键为 "mykey" 是否存在,返回 1 表示存在,0 表示不存在
EXISTS mykey
# 输出:1
# 删除键为 "mykey"
DEL mykey
哈希命令
HSET key field value
: 在哈希中设置字段的值。HGET key field
: 获取哈希中指定字段的值。HMSET key field value [field value ...]
: 在哈希中设置多个字段的值。HMGET key field [field ...]
: 获取哈希中多个字段的值。
示例:
# 将哈希 "myhash" 中字段 "name" 的值设置为 "Alice"
HSET myhash name "Alice"
# 获取哈希 "myhash" 中字段 "name" 的值
HGET myhash name
# 输出:Alice
# 批量设置哈希 "myhash" 中多个字段的值
HMSET myhash age 20 gender female
# 批量获取哈希 "myhash" 中多个字段的值
HMGET myhash name age gender
# 输出:["Alice", "20", "female"]
列表命令
LPUSH key value [value ...]
: 将一个或多个值推入列表的左侧。RPUSH key value [value ...]
: 将一个或多个值推入列表的右侧。LPOP key
: 从列表的左侧弹出一个值。RPOP key
: 从列表的右侧弹出一个值。
示例:
# 在列表 "mylist" 的左侧添加两个元素
LPUSH mylist "world" "hello"
# 在列表 "mylist" 的右侧添加一个元素
RPUSH mylist "Redis"
# 从列表 "mylist" 的左侧弹出一个元素
LPOP mylist
# 输出:hello
# 从列表 "mylist" 的右侧弹出一个元素
RPOP mylist
# 输出:Redis
集合命令
SADD key member [member ...]
: 将一个或多个成员添加到集合中。SMEMBERS key
: 获取集合中的所有成员。
示例:
# 向集合 "myset" 中添加两个成员
SADD myset "apple" "banana"
# 获取集合 "myset" 中的所有成员
SMEMBERS myset
# 输出:["apple", "banana"]
有序集命令
ZADD key score member [score member ...]
: 将一个或多个成员添加到有序集中。
示例:
# 向有序集 "mysortedset" 中添加两个成员,分别为 "Alice"(分数为 90)和 "Bob"(分数为 80)
ZADD mysortedset 90 "Alice" 80 "Bob"
配置文件示例
# Redis 配置文件示例
# 监听地址和端口
bind 0.0.0.0 # 监听地址,仅接全部的 IP 地址,不指定则默认为 127.0.0.1,表示只允许本机的连接
port 6379
# 连接设置
tcp-backlog 511
timeout 0
tcp-keepalive 300
# 日志设置
logfile "C:/Program Files/Redis/redis.log"
loglevel notice
# 数据库设置
databases 16
# 快照持久化设置
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
# AOF 持久化设置
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
# 安全设置
requirepass "yourpassword"
# 其他设置
maxclients 10000
maxmemory 1gb