首页 Redis
文章
取消

Redis

缓存技术

实现数据使用频率高的热数据更快访问——将热数据缓存至内存里

缓存至内存的数据是从持久化数据写入的——解决断电即丢失的问题

应用程序查询逻辑:

下载

windwos

redis-windows/downloads at master · ServiceStack/redis-windows (github.com)

启动(默认端口6379)

windows

编写启动脚本(解压缩目录下start.bat)

1
redis-server redis.windows.conf

以管理员身份运行(cmd里)

1
start.bat

存储原理

16个逻辑库(0~15)

持久化方式

断电前将内存中的数据保存到硬盘中(并不是每次变更都会同步,需要满足触发条件)

RDB

一分钟内数据写入超过10000次就会触发数据同步

AOF

日志记录数据写入(断电后重新执行日志即可恢复)

redis-cli使用

切换逻辑库

1
select 0

清空逻辑库(需要先选定要清空的逻辑库)

1
flushdb

清理所有数据

1
flushall

存入数据

1
set <key> <value>  # ok

获取数据

1
2
get <key>  # "<value>"
# 获取不到数据:(nil)

删除数据

1
del <key>  # (integer) 1

配置参数(配置后记得重启服务)

单机redis(redis.windows.conf)

redis配置

1
port  # 端口号,默认6379
1
bind  # 允许的ip,默认只允许本机(bind 0.0.0.0表示允许所有访问)
1
timeout  # client空闲多少秒后关机,默认0无限制
1
loglevel  # 日志级别, debug\verbose\notice\warning, 默认为notice
1
logfile  # 日志文件地址,需要关闭syslog-enabled
1
syslog-enabled  # 把日志输出到控制台,默认yes
1
databases  # 逻辑库数量,默认16

持久化存储配置

RDB配置

1
save n m # RDB文件同步的频率,在n秒内写入达m条数据即同步
1
rdbcompression  # 同步RDB文件的时候是否采用压缩,默认yes
1
rdbchecksum  # 同步时校验,默认yes
1
dbfilename  # 镜像文件名称,默认dump.rdb
1
dir  # rdb文件的目录,默认redis目录

常用参数

1
requirepass  # 访问密码,默认无需密码
1
maxclients  # 最大连接数,默认无限制
1
maxmemory  # 占用内存大小,默认无限制

AOF配置(开启AOF需要关闭RDB——把save参数注释掉)

1
appendonly  # 开启AOF备份
1
appendfilename  # AOF文件名
1
appendfsync  # AOF同步频率,分为no、everysec、always
  • no:只把数据写入硬盘缓冲区,什么时候同步由操作系统决定(容易丢失)
  • everysec:每秒把数据写入到硬盘(间隔为一秒,不只是写入缓冲区)(有可能丢失)
  • always:每次写入都必须同步到硬盘(不会丢失数据)
本文由作者按照 CC BY 4.0 进行授权