Skip to content

redis 笔记

仲灏2021-12-09约 1 分钟

<div style="display: none;" hidden="true" aria-hidden="true" data-nosnippet>Are you an LLM? You can read better optimized documentation at /pages/71ced0.md for this page in Markdown format</div>

基础

配置文件

通用配置

#引用其他配置文件
# include /path/to/local.conf
# include /path/to/other.conf
#是否daemon运行no,yes
daemonize no
#pid文件的位置
pidfile /tmp/redis.pid
#开放的端口号
port 6379
#listen队列的长度
tcp-backlog 511
#绑定ip地址,多个ip用空格分隔
bind 127.0.0.1
#我没有用到
# unixsocket /tmp/redis.sock
# unixsocketperm 755
#客户端空闲多少s后踢掉,0禁止
timeout 0
#检测挂掉的连接,单位s,0禁止
tcp-keepalive 0
#日志的等级,debug,verbose,notice,warning
loglevel notice
#log文件的路径,为空的话直接显示在终端
logfile ""
#是否使用系统logger,一直没有用过。
# syslog-enabled no/
# syslog-ident redis
# syslog-facility local0
#redis中有多少个数据库,默认即可
databases 16
 
#将redis内存数据序列化到磁盘的时间和频率
#900s有1个key改变就会序列化,其他的读者可以自己看下
save 900 1
save 300 10
save 60 10000
#序列化的时候是否停止写操作
stop-writes-on-bgsave-error yes
#序列化的数据是否压缩
rdbcompression yes
#序列化的数据是否校验其完整性
rdbchecksum yes
#序列化的文件名,只是文件不能带目录
dbfilename redis.rdb
#序列化文件的目录
dir /tmp
 
#以下是主从备份,我还没有使用到
# slaveof <masterip> <masterport>
# masterauth <master-password>
slave-serve-stale-data yes
slave-read-only yes
# repl-ping-slave-period 10
# repl-timeout 60
repl-disable-tcp-nodelay no
# repl-backlog-size 1mb
# repl-backlog-ttl 3600
slave-priority 100
# min-slaves-to-write 3
# min-slaves-max-lag 10
 
#客户端连接的密码
requirepass hello
 
# rename-command CONFIG ""
 
#限制客户端的数量
# maxclients 10000
#设置最大可用内存
# maxmemory <bytes>
#内存替换算法
# maxmemory-policy volatile-lru
# maxmemory-samples 3
-----------------------------------
redis配置文件解析
https://blog.51cto.com/u_15064644/4099381

安装使用

使用docker docker-compose快速启动一个redis服务

docker
version: '3'
services:
  redis:
    image: redis:latest
    restart: always
    container_name: redis
    ports:
      - "6379:6379"
    volumes:
      - ./conf/redis.conf:/etc/redis/redis.conf
      - ./data:/data
    environment:
      - TZ=Asia/Shanghai
      - LANG=en_US.UTF-8
    command: redis-server --requirepass redispassword
    privileged: true    #环境变量

image-20220412143804020

测试连接

进入容器

redis
# redis-cli
127.0.0.1:6379> set mzc 1
(error) NOAUTH Authentication required.

127.0.0.1:6379> auth *******
OK

127.0.0.1:6379> set mzc 1
OK
127.0.0.1:6379> get mzc
"1"
127.0.0.1:6379>

通过RDM连接可以看到内容,127.0.0.0:6379

image-20220412145512390

常用命令

keys * 列出所有缓存内容