redis
redis官网地址:redis.io
redis-server:服务端
redis-cli:客户端
redis-benchmark:压力测试工具
redis-check-dump 和 redis-check-aof 是redis的检测工具,是用来检测RDB和AOF文件的工具。RDB 和 AOF都是用来实现持久化的,RDB是数据库文件,AOF是附加文件。
配置文件:
/etc/redis.conf
daemonize no 是否运行为守护进程,启用写yes
端口:6379
backlog 缓存队列,缓存响应不过来的请求
bind 127.0.0.1 默认的监听地址
unixsocket /tmp/redis.sock 当服务和客户端在同一台主机山时候,在内存中直接进行数据交换,
unixsocketperm 700 sock访问权限
loglevel notice 日志级别
maxclients 10000 最大并非数量
maxmemory <bytes> 最多允许使用多少内存
主从配置:
slaveof <masterip> <masterport>启用这项就是从服务器,配置端口和IP即可,不启用就是主服务器。
slave-read-only yes 从服务器是否只读
redis认证:
启用认证在配置文件中开启 requirepass password 这一项即可,下次登录redis就必须要认证了。
redis-cli -h 127.0.0.1 auth password
事务:
通过MULTI,EXEC,WATCH等命令实现事务功能。
redis不支持回滚。
127.0.0.1:6379> multi OK 127.0.0.1:6379> set ip 127.0.0.1 QUEUED 127.0.0.1:6379> set ip localhost QUEUED 127.0.0.1:6379> get ip QUEUED 127.0.0.1:6379> exec 1) OK 2) OK 3) "localhost"
MULTI开启事务功能,然后用EXEC将结果一起返回。
WATCH的功能是在使用事务之前监视某个值,如果某些值被修改了,则放弃事务执行。
127.0.0.1:6379> WATCH ip OK 127.0.0.1:6379> multi OK 127.0.0.1:6379> set ip 192.168.1.1 QUEUED 127.0.0.1:6379> exec (nil)
如上,在执行事务的过程中,这个ip的值被修改了,则事务不执行。
持久化:
将数据每隔一段时间保存到磁盘。
RDB和AOF
RDB:snapshot,以二进制格式存储的快照文件。
SAVE:同步,每次都是完整的快照,会影响性能。
BGSAVE:异步,客户端的请求
AOF:将操作命令附加到文件中,append only file
发布与订阅:
subscribe key:订阅一个或多个队列
publish key:向频道发布消息
unsubscribe key:退订频道
psubscripbe:模式订阅
redis集群: