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集群: