深入浅出Redis
Redis的介绍
- Redis[Remote Directory Server]:远程服务器字典
- 使用C语言编写的,遵循BSD的开源软件
- 是一款高性能的(Key/Values)分布式内存数据库
- 并支持数据持久化的Nosql数据库服务软件
redis基础配置和安装
官方网址:https://redis.io/download
安装配置:
1.wget http://download.redis.io/releases/redis-4.0.2.tar.gz # 下载
2.tar xzf redis-4.0.2.tar.gz # 解压
3.cd redis-4.0.2
4.make -j 4 && make install # 编译安装
5. ./utils/install_server.sh #初始化配置一路回车
6.redis-cli #进入redis
测试:
ping
回复pong就通了
Redis文件了解:
文件地址:/usr/local/bin目录下的文件
**********************************
redis-server:Redis服务器
redis-cli:命令行客户端
redis-benchmark:Redis的性能测试工具
redis-check-aof:AOF文件修复工具
redis-check-dump:RDB文件检测工具
**********************************
修改启动redis:
编译文件中vim redis.conf
将配置文件中的daemonize no 改成 yes !
让redis以守护进程的方式来使用
cp rdis.conf /etc # 复制一份到/etc目录下
redis 的启动和停止:
移动到/usr/local/bin目录下
启动:
redis-server
redis-server /etc/redis.conf #指定通过配置文件来启动
停止:
shutdown
直接结束redis进程
redis命令返回值
- [1] 状态回复
-
[2] 错误回复
错误回复以error开始 (error)ERR unknown command '错误命令'
- [3] 整数回复
以interger整数
- [4] 字符串回复
GET test # get 键 (nil)返回空值结果
- [5] 多行字符串回复
KEYS * # 得到当前数据库中的存在的键名称
Redis配置选项相关内容
- [1] 动态设置/获取配置选项值
CONFIG GET [name] # 命令格式
CONFIG GET [name] (value) # 动态修改
- [2]Redis配置文件Redis.conf选项相关
配置文件的解析
计量单位
12 # 1k => 1000 bytes
13 # 1kb => 1024 bytes
14 # 1m => 1000000 bytes
15 # 1mb => 1024*1024 bytes
16 # 1g => 1000000000 bytes
17 # 1gb => 1024*1024*1024 bytes
INCLUDES
配置文件可以不写在当前文件中,可以指定去那里加载
和连接有关选项
prot 6379 # 默认端口
bind 127.0.0.1 # 默认绑定的主机地址
timeout 0 # 当客户端闲置多久后关闭连接,0代表没有启用
tcp-keepalive 300 #长连接的时间
tcp-backlog #tcp连接的队列长度
daemonize yes|no #是否己守护进程方式运行
loglevel (name) # 日志的错误级别
1.debug # 很详细的信息,是适合开发和测试
2.verbose # 包含很多不太有用的信息
3.notice # 比较适合生产环境
4.warning # 警告信息
logfile stdout # 日志的记录方式,默认为标准输出
databases 16 # 默认数据的数量,默认数据库从0开始
requirepass #开启了redis的密码
maxclinet 10000 #最大客户端连接数
和快照相关
save <seconds> <changes> # 多少秒有多少次改变,将其同步到磁盘中数据文件里
save 900 1 # 900秒内有1个更改
save 300 10 # 300秒内有10个更改
save 600 10000 # 600秒内有10000更改
rdbcompression yes # 存储本地数据库时候是否启用压缩,默认yes开启
dbfilename dump.rdb # 指定本地数据库文件名,默认为dump.rdb
dir ./ # 指定本地数据库的存放目录,默认是当前目录
设置连接密码后如何使用脚本停止redis服务
/etc/init.d/redis_6379
43 CLIEXEC -p REDISPORT -a 123456 shutdown
redis的内存管理
560 maxmemory noeviction #默认永远不过期
591 # maxmemory-policy noeviction #删除策略配置项目
行数 | 名称 | 作用 |
---|---|---|
565 | volatile-lru | 删除最近最少使用的key,设置了过期时间的 |
566 | allkeys-lru | 所有的keys全部删除 |
567 | volatile-lfu | 设置了过期的keys中随机去删除 |
568 | allkeys-lfu | 删除生命周期快结束的 |
602 maxmemory-samples 5