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对象换入的工作线程数量
配置好后重启