Redis安全性和事务处理

来源:互联网 发布:自制点播软件 编辑:程序博客网 时间:2024/05/22 04:50

1.安全性 设置密码


 编辑文件 修改redis.confvi  /usr/local/redis/redis-2.8.19/redis.conf修改requirepass 密码esc:wqvi编辑器查询esc:/单词重启redispkill  redis-server/usr/local/bin/redis-server    /usr/local/redis/redis-2.8.19/redis.conf登录后授权:127.0.0.1:6379> keys *(error) NOAUTH Authentication required.127.0.0.1:6379> auth 密码OK127.0.0.1:6379> keys *登录时输入密码:127.0.0.1:6379> exit[root@localhost bin]# ./redis-cli -a 密码127.0.0.1:6379> keys list*


2.事务处理

跟传统数据库的事务不一样


multi 开始事务
queued  队列
exec  执行事务
discard 取消事务 回滚事务关闭



127.0.0.1:6379> multi  --开始事务OK127.0.0.1:6379> set age 10QUEUED127.0.0.1:6379> set age 30QUEUED127.0.0.1:6379> exec  --执行事务1) OK2) OK127.0.0.1:6379> get age"30" 127.0.0.1:6379> multi --开始事务OK127.0.0.1:6379> set age 22QUEUED127.0.0.1:6379> set age 33QUEUED127.0.0.1:6379> discard  --回滚 OK127.0.0.1:6379> get age"30"127.0.0.1:6379> set name dingsai  --字符串OK127.0.0.1:6379> incr name    --自增报错(error) ERR value is not an integer or out of range127.0.0.1:6379> multi     --开始事务OK127.0.0.1:6379> incr age     --自增年龄QUEUED127.0.0.1:6379> incr name    --自增姓名QUEUED127.0.0.1:6379> exec         --执行事务1) (integer) 312) (error) ERR value is not an integer or out of range结果没有全部回滚,年龄继续自增了Redis乐观锁实例:两个session 开启监控watch和事务multi  对同一个key操作。当连接断开watch和multi都自动被取消。exec,discard,unwatch都会清除连接中的所有监视。 WATCH key [key ...]:标记所有指定的key 被监视起来,在事务中有条件的执行(乐观锁)。session1   开启事务 和监控没提交127.0.0.1:6379> get age"33"127.0.0.1:6379> watch ageOK127.0.0.1:6379> multisession2   直接提交127.0.0.1:6379> set age 44OKsession1   已经被提交 事务提交未执行127.0.0.1:6379> set age 20QUEUED127.0.0.1:6379> exec(nil)127.0.0.1:6379> get age"44"

















0 0
原创粉丝点击