在我们本地的redis中,它是以文本打开的,在这个位置
网络异常,图片无法展示
|
启动的时候,就通过配置文件来启动的
1 配置文件 util单位 kg kG Kg 对大小写不敏感
# 1k => 1000 bytes # 1kb => 1024 bytes # 1m => 1000000 bytes # 1mb => 1024*1024 bytes # 1g => 1000000000 bytes # 1gb => 1024*1024*1024 bytes
2 include包含 就好比我们学习spring中的import jsp中的include标签
网络异常,图片无法展示
|
- 网络
bind 127.0.0.1 #绑定ip 默认是本机 当然也可以换成远程的 protected-mode yes #保护模式 默认是开启的 port 6379 #端口 默认6379 集群一定是要修改端口的 至少搭建三个redis
3 通用配置GENERAL(全体的)
daemonize yes #以守护进程的方式运行,默认是no,我们需要自己开启为yes 不然我们一退出进程就结束了,那肯定是不行的 pidfile/var/run/redis_6379.pid #如果以后台的方式运行,我们就需要指定一个pid文件(进程文件) loglevel notice #日志级别 还有debug,verbose,warning这几种 #debug(排查)一般用于测试开发阶段 #verbose记录较多的日志信息 #notice(通知)只会记录一些重要的日志,仅适用于生产环境,也是我们默认使用的级别 #warning(警告)打印关键的信息 日志打印出来生成文件 logfile "" #日志的文件位置名 如果为空就是一个标准的输出 database 16 #数据库的数量 默认是16个数据库 always-show-log yes #是否总是显示log 也就是我们redis客户端的那个log
网络异常,图片无法展示
|
4 持久层(RDB) 快照
SNAPSHOTTING 做持久化会用到,在规定的时间内执行了多少次操作,则会持久化,也就是生成一个快照到我们的文件 一般文件格式有两种 .rdb文件 .aof文件
网络异常,图片无法展示
|
redis是内存数据库,如果不进行持久化数据会丢失
save 900 1 #如果900秒内 如果至少1 个key进行了修改 我们就进行持久化操作 save 300 10 #如果300秒内 如果至少10个key进行了修改 我们就进行持久化操作 save 60 10000 #如果60秒内 如果至少10000个key进行了修改 我们就进行持久化操作 一般用于高并发 #之后学习持久化 会自己定这个并做相关的测试
stop-writes-on-bgsave-error yes #持久化出现错误之后(是否继续进行工作) 也会继续工作 默认开启yes rdbcompression yes #是否压缩我们的rdb文件 默认也是yes开启的 压缩的话就会消耗浪费我们的cpu资源 rdbchecksum yes #保存rdb文件的时候进行错误的检查校验 是否校验(检查)rdb文件 如果出错了就会自动进行修复 默认也是yes开启的 dir ./ #rdb文件默认保存的目录! 默认是当前目录
5 REPLICATION主从复制 一般用于搭建多个redis
6 SECURITY安全
可以设置redis的密码.redis默认是没有密码的,但是一般服务器都要设置密码的
requirepass foobared #设置密码 redis默认是没有密码的
查看密码,以及设置密码的命令或者方式
127.0.0.1:6379> config get requirepass #查看密码 1) "requirepass" 2) "" #redis默认是没有密码的
设置密码方式1:在conf文件插入密码(不推荐)
网络异常,图片无法展示
|
清除密码的话就把新增密码那行删除
设置密码方式2:用命令(推荐)
127.0.0.1:6379> config set requirepass wyh19991101 #设置redis密码 OK #设置成功 127.0.0.1:6379> config get requirepass #查看密码 (error) NOAUTH Authentication required. #查看失败 发现所有的命令都没有权限 应该先登录 127.0.0.1:6379> ping #默认情况下我们的ping命令是key不带密码就能使用的,但是如果我们给redis设置了密码,那么我们的redis就会把重要的命令后面都要带上我们的密码才能执行 (error) NOAUTH Authentication required. #没有密码不能执行 127.0.0.1:6379> auth wyh19991101 #输入验证密码 OK #验证成功 127.0.0.1:6379> ping #此时的ping就能正常使用了 PONG 127.0.0.1:6379> config get requirepass #查看我们的密码 1) "requirepass" 2) "wyh19991101"
清除密码的话就使用命令把密码设置为空
127.0.0.1:6379> config set requirepass "" #设置redis密码为空 也就是取消密码 OK #设置成功 我们一些命令比如ping就可以直接使用而不用跟上密码使用
7 限制client客户端
maxclients 10000 #设置能连上redis最大客户端的数量 默认10000个 maxmemory <bytes> #redis配置最大的内存容量 默认是字节 maxmemory-policy noeviction #内存到大上限之后的处理策略 #移出一些过期的key #报错 #。。。。。。。。 #一般有以下六种处理策略 maxmemory-policy 六种方式 1、volatile-lru:只对设置了过期时间的key进行LRU(默认值) 2、allkeys-lru : 删除lru算法的key 3、volatile-random:随机删除即将过期key 4、allkeys-random:随机删除 5、volatile-ttl : 删除即将过期的 6、noeviction : 永不过期,返回错误
8 APPEND ONLY MODE模式 持久层(AOF)
appendonly no #默认是不开启AOF模式的,默认是使用RDB方式持久化的,在大部分情况下,RDB完全够用了 appendfilename "appendonly.aof" #持久化文件的名字 RDB持久化文件袋的名字yes后缀.rdb # appendfsync always #每次修改都会同步写入sync,消耗性能速度比较慢,因为每次都要读写 appendfsync everysec #默认使用这个 每秒执行一次sync,可能会丢失这1s点数据,万一这1s宕机了 # appendfsync no #不执行 sync 这个时候操作系统自己同步数据,速度最快,但是一般不用