1.安全性
设置密码:
vi /alidata/server/redis-3.2.1/redis.conf
1
|
[root@iZ28c6xv2w0Z redis-3.2.1] # vi /alidata/server/redis-3.2.1/redis.conf |
找到:requirepass
1
2
|
# requirepass foobared requirepass 123456 |
重新启动数据库:
1
2
|
[root@iZ28c6xv2w0Z redis-3.2.1] # pkill redis-server [root@iZ28c6xv2w0Z src] # ./redis-server /alidata/server/redis-3.2.1/redis.conf |
进入客户端并执行命令,提示没有权限:
1
2
3
|
[root@iZ28c6xv2w0Z src] # ./redis-cli 127.0.0.1:6379> keys * (error) NOAUTH Authentication required. |
输入密码:
aoth 123456
1
2
3
4
5
6
|
127.0.0.1:6379> auth 123456 OK 127.0.0.1:6379> set name xiaoming OK 127.0.0.1:6379> keys * 1) "name" |
登录时即输入密码:
./redis-cli -a 123456
添加-a输入密码
1
2
3
|
[root@iZ28c6xv2w0Z src] # ./redis-cli -a 123456 127.0.0.1:6379> keys * 1) "name" |
2.主从复制
3.事务处理
开启事务:
multi
其他命令..
执行:
exec
1
2
3
4
5
6
7
8
9
10
11
|
127.0.0.1:6379> multi OK 127.0.0.1:6379> set age 19 QUEUED 127.0.0.1:6379> set age 20 QUEUED 127.0.0.1:6379> exec 1) OK 2) OK 127.0.0.1:6379> get age "20" |
取消事务(回滚):
discard
1
2
3
4
5
6
7
8
9
10
|
127.0.0.1:6379> get age "20" 127.0.0.1:6379> multi OK 127.0.0.1:6379> set age 17 QUEUED 127.0.0.1:6379> discard OK 127.0.0.1:6379> get age "20" |
乐观锁:
watch age 开启监视
unwatch 清除所有监视,断开连接也会清除所有监视
4.持久化机制
snapshotting方式(默认):
默认名为dump.rdb
1
2
3
|
save 900 1 #900秒中有一个键被修改保存一次 save 300 10 #300秒中有十个健被修改保存一次 save 60 10000 #60秒中有10000个健被修改保存一次 |
aof方式:
配置文件中:
1
|
[root@iZ28c6xv2w0Z src] # vi /alidata/server/redis-3.2.1/redis.conf |
appendonly yes #启用aof持久化
appendfsync always #收到命令立即写入磁盘,最慢,但保证完全持久化
appendfsync everysec #每秒写入磁盘一次,性能与持久化折中
appendfsync no #完全依赖os,性能最好,持久化没保证
1
2
3
|
# appendfsync always appendfsync everysec # appendfsync no |
配置完成后重启redis
在src下会有一个名为 appendonly.aof 文件
5.发布订阅消息
发布消息:
publish tv1 xiaoming
返回的值为监听人数。
1
2
|
127.0.0.1:6379> publish tv1 xiaoming (integer) 1 |
监听消息:
subscribe tv1 tv2
在客户端二收到的消息:
1
2
3
4
5
6
7
8
|
127.0.0.1:6379> subscribe tv1 Reading messages... (press Ctrl-C to quit) 1) "subscribe" 2) "tv1" 3) (integer) 1 1) "message" 2) "tv1" 3) "xiaoming" |
6.虚拟内存的使用
虚拟内存配置:
1
|
[root@iZ28c6xv2w0Z src] # vi /alidata/server/redis-3.2.1/redis.conf |
添加如下配置:
vm-enabled yes #开启vm功能
vm-swap-file /tmp/redis.swap #交换出来的value保存的文件路径
vm-max-memory 1000000 #redis使用的最大内存上限
vm-page-size 32 #每个页面的大小32字节
vm-pages 134217728 #最多使用多少页面
vm-max-threads 4 #用于执行value对象换入的工作线程数量
配置好后重启