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  阅读(198)  评论(0编辑  收藏  举报