一.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 密码

~~~本文为自我总结学习使用,不具备权威性,欢迎指正,谢谢!!!