redis 的安装和配置

remote dictionary server (redis) 属于数据库管理系统(DBMS)中的非关系型数据库(NoSQL),是一个 key-value 存储系统

redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对 (Key-Value) 存储数据库,并提供多种语言的 API

redis 通常被称为数据结构服务器,因为值(value)可以是字符串 (String)、哈希 (Hash)、列表 (list)、集合 (sets) 和有序集合 (sorted sets) 等类型

 

官网下载链接:https://redis.io/docs/getting-started/installation/

macOS

# 安装 redis 

brew install redis

# 查看 redis 软件包安装的命令

# 前台启动 redis ( redis-server ),关闭 redis ( redis-cli shutdown )

# 后台启动 redis

# 关闭 redis 进程( brew services stop redis )

# 命令行连接到 redis ,此处 redis-cli 等价于 redis-cli -h localhost -p 6379

# `lpush` 用于将一个或多个元素添加到列表的左侧(即列表的头部)

# `lpush demos redis-macOS-demo` 表示在名为 "demos" 的列表的左侧添加一个元素 "redis-macOS-demo"

# `rpop` 用于从列表的右侧(即列表的尾部)弹出并返回一个元素

# `rpop demos` 表示如果 "demos" 列表不为空,它将返回并删除列表尾部的一个元素

# redis 配置文件

# 设置 redis 为 daemon 进程

daemonize yes 

# 设置进程锁文件

pidfile /usr/local/Cellar/redis/7.2.1/redis.pid

# 端口

port 6379

# 客户端超时时间

timeout 300

# 日志级别

loglevel notice

# 日志文件位置

logfile /usr/local/Cellar/redis/7.2.1/log/redis.log

# 设置数据库的数量,默认数据库为16,可以使用 select 命令在连接上指定数据库 id

databases 16

# 指定本地数据库路径

dir /usr/local/Cellar/redis/7.2.1/db/

# 指定本地数据库文件名

dbfilename /usr/local/Cellar/redis/7.2.1/db/dump.rdb

# 指定命令行连接 redis 的登录密码

requirepass "redis-password"

# 指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合 (save),save 参数如下

save 900 1 (如果在900秒内至少发生1次写操作,redis 将自动保存快照)

save 300 10 (如果在300秒内至少发生10次写操作,redis 将自动保存快照)

save 60 10000 (如果在60秒内至少发生10000次写操作,redis 将自动保存快照)

save "" (禁用自动保存快照)

# 指定是否在每次更新操作后进行日志记录,redis 在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis 本身同步数据文件是按上面 save 条件来同步的,所以有的数据会在一段时间内只存在于内存中

appendonly no

# 指定更新日志条件,共有3个可选值( no、always、everysec )

appendfsync everysec

no:表示等操作系统进行数据缓存同步到磁盘(快)

always:表示每次更新操作后手动调用 fsync () 将数据写到磁盘(慢,安全)

everysec:表示每秒同步一次(默认值)

# 启动 redis :redis-server /usr/local/Cellar/redis/7.2.1/etc/redis.conf 

# 检查是否启动成功:redis-cli ping

 

Debian

官方文档:https://redis.io/docs/getting-started/installation/install-redis-on-linux/

# 查看 apt 仓库中是否有 redis 软件包

apt list | grep 'redis-server'

# 查看 redis-server 软件包在哪个仓库( 若仓库中有 redis-server 的软件包,则不需要下载 gpg key 和配置 apt source )

apt-cache policy redis-server

# 安装基础软件

apt install lsb-release curl gpg -y

# 下载 gpg key 

curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

# 配置 apt source 

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/redis.list

# 安装 redis-server 

apt-get update

apt-get install -y redis-server

# 启动 redis 服务

systemctl enable redis-server --now

# 运行 redis( redis 配置文件参数可参考 macOS )

redis-server /etc/redis/redis.conf

 

docker-compose

version: '3'
services:
  redis01:
    container_name: redis01
    image: redis:7-alpine
    restart: always
    mem_limit: 10g
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 6379:6379
    volumes:
      - ./data:/data
    command: redis-server /data/config/redis.conf
docker-compose.yml
bind 0.0.0.0
port 6379
loglevel notice
logfile "/data/log/redis.log"
requirepass "redis-password"
save ""
maxmemory 10240mb
redis.conf

# 启动 redis 容器

docker-compose up -d

# 本机连接 redis 容器

redis-cli -h localhost -p 6379 -a "redis-password" 

# 非本机连接 redis 容器

redis-cli -h "redis 容器所在宿主机 IP" -p 6379 -a "redis-password" 

posted @ 2023-09-13 15:14  demoduan  阅读(241)  评论(0)    收藏  举报