一.redis的事务支持
redis支持事务操作,需要手动开启事务
# 开启事务
multi
# 操作
set name aaa
# 执行事务
exec
# 回滚事务
discard
在并发操作的时候,避免数据更改造成的影响,可以使用watch监听字段变化
# 开启监听
watch name
multi
# 此时如果其他终端(用户)也操作了name并改成其他值,那么此事务不会成功
set name aaa
exec
# 执行结果是(nil)表示事务执行失败,并不会报错
取消监听可以使用unwatch取消所有的监听对象
二. redis的持久化操作
redis支持两种持久化备份操作RDB和AOF
redis默认使用的是RDB进行持久化操作若想关闭RDB持久化,可以将/etc/redis/redis.conf文件的save字段全部注释掉即可
RDB储存于配置文件中的dir路径下的dbfilename后面指定文件中
RDB储存数据的特点:
1.储存的是数据的值,会进行压缩处理
2.储存时会fork一个子进程进行储存操作
3.更新同步比较长,最短5分钟同步一次,如出现宕机灾难,可能会损失5分钟内的数据
劣势:由于RDB持久化是fork子进程进行的,如果需要备份的数据很大,有可能会导致服务器暂停服务几百毫秒甚至一秒钟
另一种储存方式是AOF储存,可以通过配置文件中的appendonly后面改成开启(设置为no关闭)
AOF储存于配置文件中的dir路径下的appendfilename指定文件中
# 表示RDB储存每秒更新同步
appendfsync everysec
# 表示AOF每次操作就会更新同步
appendfsync always
AOF储存数据的特点:
1.每秒同步更新,效率相对较高
2.储存的是redis命令,不会压缩文件
3.数据体积较大,恢复还需要执行命令操作,恢复效率不及RDB
三.设置redis密码
默认情况下redis无密码即可登录,比较危险,可以在配置文件中将requirepass取消注释,在其后加入密码
在启动cli客户端时,操作会报错,必须授权才能操作
# 授权操作
auth 密码
# 授权后才能操作
set name abc
或者进入客户端时使用如下命名:
# 其中-p指定端口,-h执行ip,-a指定密码
redis-cli -p 6379 -h 127.0.0.1 -a 密码
四.远程连接redis数据库
需要远程通过ip连接数据库时,需要修改配置文件,将本机ip(非127.0.0.1)追加到bind后面即可,可以通过ifconfig查看ip
远程机器即可通过对方ip连接数据库了
# 其中-p指定端口,-h执行ip,-a指定密码
redis-cli -p 6379 -h 192.168.1.111 -a 密码
~~~本文为自我总结学习使用,不具备权威性,欢迎指正,谢谢!!!