Redis常用命令(三,共三篇)
目录
1、redis的配置文件:
1)、redis配置文件中关于网络的配置:
2)、常规配置:
3)、安全配置:
2、redis的持久化:
1、RDB策略:
在指定时间间隔内,redis服务执行指定次数的写操作,会自动触发一次持久化操作。RDB策略是redis默认的持久化策略,redis服务开启时这种持久化策略就已经默认开启了。
2、AOF策略:采用操作日志来记录进行每一次写操作,每次redis服务启动时,都会重新执行一遍操作日志中的指令。效率低下,redis默认不开启AOF功能。
3、Redis的事务:
1)multi:用来标记一个事务的开始。
2)exec:用来执行事务队列中所有的命令。
3)redis的事务只能保证部分原子性:
4)discard:清除所有已经压入队列中的命令,并且结束整个事务。
5)watch:监控某一个键,当事务在执行过程中,此键代码的值发生变化,则本事务放弃执行;否则,正常执行。
6)unwatch:放弃监控所有的键。
4、redis消息的发布与订阅:
redis客户端订阅频道,消息的发布者往频道上发布消息,所有订阅此频道的客户端都能够接受到消息。
1)subscribe:订阅一个或者多个频道的消息。
2)publish:将消息发布到指定频道
3)psubcribe:订阅一个或者多个频道的消息,频道名支持通配符。
5、redis的主从复制:主少从多、主写从读、读写分离、主写同步复制到从。
搭建一主二从redis集群:
1)、搭建三台redis服务:使用一个redis模拟三台redis服务
2)通过redis客户端分别连接三台redis服务:
3)查看三台redis服务在集群中的主从角色: info replication 默认情况下,所有的redis服务都是主机,即都能写和读,但是都还没有从机。
4)先在6379进行写操作: set k1 v1 三台rdis服务互相独立,互不影响。
5)设置主从关系:设从不设主
6)全量复制:一旦主从关系确定,会自动把主库上已有的数据同步复制到从库。
7)增量复制:主库写数据会自动同步到从库。
8)主写从读,读写分离:
9)主机宕机、从机原地待命:
10)、主机恢复、一切恢复正常:
11)、从机宕机、主机少一个从机、其它从机不变:
12)、从机恢复、需要重新设置主从关系:
13)、从机上位:
6、redis哨兵模式:主机宕机、从机上位的自动版。
1)搭建一主二从集群架构:(5节前五步)
2)提供哨兵配置文件:
3)启动哨兵服务:
4)主机宕机:
5)之前主机恢复:自动从属于新的主机。
7、java操作redis数据库:jedis是redis官方提供的操作redis数据的技术。
1、redis的配置文件:
在redis根目录下提供redis.conf配置文件;
可以配置一些redis服务端运行时的一些参数;
如果不使用配置文件,那么redis会按照默认的参数运行;
如果使用配置文件,在启动redis服务时必须指定所使用的配置文件。
1)、redis配置文件中关于网络的配置:
port:指定redis服务所使用的端口,默认使用6379。
bind: 配置客户端连接redis服务时,所能使用的ip地址,默认可以使用redis服务所在主机上任何一个ip都可以;一般情况下,都会配置一个ip,而且通常是一个真实。
如果配置了port和bind,则客户端连接redis服务时,必须指定端口和ip:
redis-cli -h 192.168.11.128 -p 6380
redis-cli -h 192.168.11.128 -p 6380 shutdown
tcp-keepalive:连接保活策略。
2)、常规配置:
loglevel:配置日志级别,开发阶段配置debug,上线阶段配置notice或者warning.
logfile:指定日志文件。redis在运行过程中,会输出一些日志信息;默认情况下,这些日志信息会输出到控制台;我们可以使用logfile配置日志文件,使redis把日志信息输出到指定文件中。
databases:配置redis服务默认创建的数据库实例个数,默认值是16。
3)、安全配置:
requirepass:设置访问redis服务时所使用的密码;默认不使用。
此参数必须在protected-mode=yes时才起作用。
一旦设置了密码验证,客户端连接redis服务时,必须使用密码连接:redis-cli -h ip -p port -a pwd
2、redis的持久化:
redis提供持久化策略,在适当的时机采用适当手段把内存中的数据持久化到磁盘中,每次redis服务启动时,都可以把磁盘上的数据再次加载内存中使用。
1、RDB策略:
在指定时间间隔内,redis服务执行指定次数的写操作,会自动触发一次持久化操作。
RDB策略是redis默认的持久化策略,redis服务开启时这种持久化策略就已经默认开启了。
save <seconds> <changes>:配置持久化策略
dbfilename:配置redis RDB持久化数据存储的文件
dir: 配置redis RDB持久化文件所在目录
2、AOF策略:采用操作日志来记录进行每一次写操作,每次redis服务启动时,都会重新执行一遍操作日志中的指令。
效率低下,redis默认不开启AOF功能。
appendonly:配置是否开启AOF策略
appendfilename:配置操作日志文件
小结:根据数据的特点决定开启哪种持久化策略;
一般情况,开启RDB足够了。
3、Redis的事务:
事务:把一组数据库命令放在一起执行,保证操作原子性,要么同时成功,要么同时失败。
Redis的事务:允许把一组redis命令放在一起,把命令进行序列化,然后一起执行,保证部分原子性。
1)multi:用来标记一个事务的开始。
multi
set k1 v1
set k2 v2
2)exec:用来执行事务队列中所有的命令。
exec
3)redis的事务只能保证部分原子性:
a)如果一组命令中,有在压入事务队列过程中发生错误的命令,则本事务中所有的命令都不执行,能够保证事务的原子性。
multi
set k3 v3
seta kk vv
set k4 v4
exec
b)如果一组命令中,在压入队列过程中正常,但是在执行事务队列命令时发生了错误,则只会影响发生错误的命令,不会影响其它命令的执行,不能够保证事务的原子性。
multi
set k3 v3
incr k1
set k4 v4
exec
4)discard:清除所有已经压入队列中的命令,并且结束整个事务。
multi
set k5 v5
set k6 v6
discard
5)watch:监控某一个键,当事务在执行过程中,此键代表的值发生变化,则本事务放弃执行;否则,正常执行。
id balance version
update table set balance=balance-dept,version=version+1
where id=xxxx and version=100
set balance 100
set balance2 1000
set version 1
watch version
multi
decrby balance 50
incrby balance2 50
exec
6)unwatch:放弃监控所有的键。
watch version
unwach
multi
decrby balance 50
incrby balance2 50
exec
4、redis消息的发布与订阅:
redis客户端订阅频道,消息的发布者往频道上发布消息,所有订阅此频道的客户端都能够接受到消息。
1)subscribe:订阅一个或者多个频道的消息。
subscribe ch1 ch2 ch3
2)publish:将消息发布到指定频道
publish ch1 hello
3)psubcribe:订阅一个或者多个频道的消息,频道名支持通配符。
subscribe news.*
activeMQ2
5、redis的主从复制:主少从多、主写从读、读写分离、主写同步复制到从。
搭建一主二从redis集群:
1)、搭建三台redis服务:使用一个redis模拟三台redis服务
提供三分redis配置文件:redis6379.conf、redis6380.conf、redis6381.conf
修改三份配置文件:以redis6379.conf为例
bind 127.0.0.1
port 6379
pidfile /var/run/redis_6379.pid
logfile "6379.log"
dbfilename dump6379.rdb
分别使用三个redis配置文件,启动三个redis服务:
redis-server redis6379.conf &
redis-server redis6380.conf &
redis-server redis6381.conf &
2)通过redis客户端分别连接三台redis服务:
redis-cli -h 127.0.0.1 -p 6379
redis-cli -h 127.0.0.1 -p 6380
redis-cli -h 127.0.0.1 -p 6381
3)查看三台redis服务在集群中的主从角色:
info replication
默认情况下,所有的redis服务都是主机,即都能写和读,但是都还没有从机。
4)先在6379进行写操作:
set k1 v1
三台rdis服务互相独立,互不影响。
5)设置主从关系:设从不设主
在6380上执行:slaveof 127.0.0.1 6379
在6381上执行:slaveof 127.0.0.1 6379
6)全量复制:一旦主从关系确定,会自动把主库上已有的数据同步复制到从库。
在6380和6381上执行:keys *
7)增量复制:主库写数据会自动同步到从库。
在6379上执行:set k2 v2
在6380和6381上执行:keys *
8)主写从读,读写分离:
在6380和6381上执行:set k3 v3 ===>报错
9)主机宕机、从机原地待命:
关闭6379服务:redis-cli -h 127.0.0.1 -p 6379 shutdown
查看6380和6381服务的主从角色:info replication
10)、主机恢复、一切恢复正常:
重启6379服务:redis-server redis6379.conf &
客户端连接6379:redis-cli -h 127.0.0.1 -p 6379
11)、从机宕机、主机少一个从机、其它从机不变:
关闭6380服务: redis-cli -h 127.0.0.1 -p 6380 shutdown
查看6379服务的主从角色:info replication
查看6381服务的主从角色:info replication
12)、从机恢复、需要重新设置主从关系:
重启6380服务:redis-server redis6380.conf &
客户端连接6380:redis-cli -h 127.0.0.1 -p 6380
在6380上执行: slaveof 127.0.0.1 6379
13)、从机上位:
a)主机宕机、从机原地待命:
关闭6379服务:redis-cli -h 127.0.0.1 -p 6379 shutdown
查看6380和6381服务的主从角色:info replication
b)从机断开原来主从关系:
在6380上执行:slaveof no one
查看6380服务的主从角色:info replication
c)重新设置主从关系:
在6381上执行:slaveof 127.0.0.1 6380
d)之前主机恢复、变成孤家寡人:
重启6379服务:redis-server redis6379.conf &
客户端连接6379:redis-cli -h 127.0.0.1 -p 6379
e)天堂变地狱:
在6379上执行:slaveof 127.0.0.1 6381
在6381上执行:info replication 既是主机又是从机
小结:一台主机配置多台从机,一台从机又可以配置多台从机,从而形成一个庞大的集群架构。
减轻一台主机的压力,但是增加了服务间的延迟时间。
6、redis哨兵模式:主机宕机、从机上位的自动版。
1)搭建一主二从集群架构:(5节前五步)
2)提供哨兵配置文件:
在redis安装目下创建配置文件:redis_sentinel.conf
sentinel monitor dc-redis 127.0.0.1 6379 1
3)启动哨兵服务:
redis-sentinel redis_sentinel.conf
4)主机宕机:
关闭6379服务:redis-cli -h 127.0.0.1 -p 6379 shutdown
哨兵程序自动选择从机上位。
5)之前主机恢复:自动从属于新的主机。
重启6379服务:redis-server redis6379.conf &
客户端连接6379:redis-cli -h 127.0.0.1 -p 6379
7、java操作redis数据库:jedis是redis官方提供的操作redis数据的技术。
把所有的redis指令都定义成java工具类的方法,方法名和redis的指令名完全一样;
开发通过程序访问redis,只需要使用工具类及其方法即可。
在java程序中访问redis:
1)创建maven版的java工程
2)添加jedis依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.1.0</version>
</dependency>
3)创建Jedis连接
*关闭linux的防火墙
redis-cli -h ip -p port
keys *
Redis常用命令(三,共三篇)相关推荐
- Redis —— 常用命令一览
引言 参考<菜鸟教程 Redis 常用命令>,其中红色为极其重要,蓝色为重要. 一.总览 二.key相关命令 三.String 相关命令 四.Hash 相关命令 五.List 相关命令 六 ...
- redis常用命令:
redis常用命令: 一 .键值相关命令: key:取出当前数据库中的所有key: keys * //全匹配 keys my* //模糊匹配 exists : 确认一个key是否存在,返回值1存 ...
- 查看redis常用命令
Redis常用命令 一. Connection连接 ping 使用客户端向 Redis 服务器发送一个 PING ,如果服务器运作正常的话,会返回一个 PONG 案例: 测试ping quit 请求服 ...
- Redis 常用命令的学习
Redis 常用命令的学习 文章目录 Redis 常用命令的学习 1. 介绍 2. Redis 的五种数据类型以及操作命令 1. 连接 2. Redis的key的操作命令 3.字符串类型:string ...
- Redis常用命令集
Redis常用命令集 1)连接操作命令 quit:关闭连接(connection) auth:简单密码认证 help cmd: 查看cmd帮助,例如:help quit 2)持久化 save:将数据同 ...
- Redis常用命令之操作Hash类型
场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...
- 八股文之linux中redis常用命令
全局操作 查询键 # 查询所有的键,遍历所有的键 keys * 127.0.0.1:6379> keys * "backup4" "backup3" &q ...
- redis常用命令个人总结
一.前言 有时会碰到些运维问题,除了需要手动修改数据库外,还需要手动修改redis. 下方总结下redis常用命令. 二.redis常用命令 1.登录redis服务器后,执行命令登录redis: re ...
- Redis常用命令|查询|删除|模糊操作
Redis中有很多操作命令,今天就给大家整理一下,或许不够全面,欢迎留言沟通. redis常用命令 作用 命令 描述 查看所有key keys * 模糊匹配key keys xxx* | keys * ...
- redis常用命令getex_Redis 常用命令篇(末尾含不常用)
设置值 set key value [ex seconds] [px milliseconds] [nx|xx] EX seconds : 将键的过期时间设置为 seconds 秒. 执行 SET k ...
最新文章
- Open-E DSS V7 应用系列之六 构建软件iSCSI
- 第九章 字符串,字符和字节
- Docker:Nginx-Redis-Mysql-PHP 部署
- 2018年1月 常用的linux命令
- 消息中间件之JMS实践(ActiveMQ) 1
- 强大的ETL利器—DataFlow3.0
- 中华人民共和国计算机信息网络,中华人民共和国计算机信息网络 国际联网管理暂行规定...
- 命令行获取本地安全策略
- TXT文件导入mysql
- Windows去弹窗广告神器!
- 什么是数字化的马太效应
- 进击的UI-----------------UITableView(表视图)
- 地磅软件_无人值守自动称重系统_过磅原理及优缺点
- python-return_全局局部变量_函数名用法_函数嵌套
- 班级优化大师显示网络或服务器异常,希沃班级优化大师常见问题总汇
- tableau关于增长率、占比的表计算实践应用
- 打开方式怎么用计算机程序,打开方式怎么还原?打开方式还原方法步骤
- 《JAVA》课程设计报告--企业人力资源管理系统
- Zinnia库的学习和使用过程
- php把时间改为星期,php时间戳转换星期
热门文章
- 大网映射小网访问外网
- DevExpress破解版下载
- 2021-2027全球及中国激光投影键盘行业研究及十四五规划分析报告
- 数学建模学习(73):用Python敏感性分析,如此轻松简单
- 荣耀点击android版本,华为荣耀8 EMUI5.0回退EMUI4.1教程 荣耀8安卓7.0降级6.0步骤
- exec , 元类,__new__, __call__ , 单例模式 , 异常
- 游戏应该怎么做-美术
- csb反编译_云服务软件
- python调整图表的宽度_Matplotlib表格格式列宽
- 日常使用的工具 软件集合持续更新