Redis学习总结(六)——redis服务器管理及java客户端编写

一、主从复制

主从复制:用多台redis服务器来组成一个集群,让其中一台作为主服务器,其他作为从服务器。从服务器会自动的同步主服务器的数据。分担一部分读的操作,那么读取数据的时候就不会从一台服务器拿数据,而是从多态服务器读取数据。写的操作就是在主服务器中。

从服务器作用:减轻主服务器的压力,从服务器担任rdb快照功能。

Master配置(主服务器)
1:关闭rdb快照(备份工作交给slave)
2:可以开启aof

slave配置:(从服务器)
1、声明slave-of
2、某一个slave打开rdb快照功能
3、配置是否只读 slave-read-only
4、可选配置密码(内网可不必)
在主服务器配置中修改  requirepass 123456
客户端连上后需要  auth 123456才能访问
但是从服务器已经连不成功master
需要在从服务器配置上  masterauth 123456

cp redis.conf redis6380.conf
cp redis.conf redis6381.conf

pidfile /var/run/redis6380.pid
port 6380
dbfilename dump6380.rdb
dir /var/rdb/

注:每次slave断开后,再次连接master时,都要master全部dump出来rdb再aof,即同步的过程需要重新来一遍
所以要记住,多台slave不要一下都启动起来

案例一 主从服务器配置

ps:在重新启动6380端口的时候,必须将主redis配置文件中的RDB快照持久化和AOF日志持久化关掉。因此,配置从服务器就可以在从服务器中做持久化操作。

关掉的操作如下: RDB快照注释

AOF日志设为no

 

通过不同的redis实例占用不同的端口,相当于多台服务器。可以复制多个redis配置文件,因为每个实例都是读取一个配置文件。

redis默认端口6379,修改复制后的配置文件端口6380。

第一步:复制redis配置文件cp redis.conf redis6380.conf

第二步 修改redis6380.conf配置文件

先修改redis实例

再配置主服务器 slaveof localhost 6379 表示本台服务器属于哪个主服务器。

还可以选择配置密码验证,此处我们先不配置密码,有需要再说。

配置从服务器是否只读:是

保存,退出。

启动6380端口服务器

第三步:通过客户端连接6379主服务器

再开一个客户端窗口,连接6380端口

第四步:测试 在主服务器设置key值,从服务器也能获取key值

主服务器

从服务器

已达到从服务器同步主服务器的数据。

注意:在修改配置文件后,都需要重启redis服务器才会生效。

目前redis版本比较多,本章是使用最新的redis版本,在第一章有介绍。因此在配置文件中和视频中的老版本有一些不同,但是效果都是一样的。

1)以下数据显示,redis服务器启动正常

启动6379端口号服务器

启动6380端口号服务器

2)主从配置文件具体需要修改的位置
首先主配置文件的持久化注釋掉,在從配置文件中做持久化
1、注释掉RDB快照
#save 900 1
#save 300 10
#save 60 10000
2、AOF日志设为no   appendonly no
4、port 6379(系统默认)
5、redis.conf配置文件中daemonize守护线程,默认是NO。daemonize是用来指定redis是否要用守护线程的方式启动。
设置为daemonize:yes。
redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。


从服务器配置如下:
1、修改生成的文件名,防止和原文件重複
pidfile /var/run/redis6380.pid
2、修改端口号   port 6380
3、配置本台从服务器属于哪个主服务器
replicaof 127.0.0.1 6379
4、配置从服务器是否只读:是
replica-read-only yes
5、采用系统默认daemonize:no
当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。

 

关闭redis服务器

  (1)强制结束程序。使用kill -9 进程的pid,强行终止Redis进程可能会导致redis持久化丢失;

  

  (2)正确停止redis的方式是向redis发送shutdown命令,方法为:(关闭默认端口)

  

     关闭指定端口:

 

 

全文快速搜索  /(关键字)

按下”/“键,这时在状态栏(也就是屏幕左下脚)就出现了 “/” 然后输入你要查找的关键字敲回车就可以了。

找到相关文字以后: 
(1)按下小写n,向下查找 
(2)按下大写N,向上查找

-------------redis运维--------------
TIME 查看时间戳与微秒数
127.0.0.1:6379> time
1) "1423329581"
2) "398972"

dbsize 查看当前库中的key数量
bgrewriteaof 后台进程重写aof
bgsave  后台保存rdb快照
save  保存rdb快照
lastsave  上次保存时间
slaveof  设为slave服务器(设为从服务器)
flushall  清空所有db
flushdb 清空当前db
shutdown save|nosave  断开连接关闭服务器


slowlog显示慢查询
(多慢才算慢? slowlog-log-slower-than 10000)
存多少条? slowlog-max-len 128 
查看慢日志  slowlog get
config get slowlog-log-slower-than 
config set slowlog-log-slower-than 10


info  显示服务器信息
config get 获取配置信息
config set 设置配置信息
monitor 打开控制台
sync  主从同步
client list 客户端列表
client kill 关闭某个客户端
client setname 为客户端设置名字
client getname 获取客户端名字
-----
如果不小心flushall了
应该首先 shutdown nosave
然后编辑aof
重启

 

二、java客户端编写

通过java程序调用redis,实现数据存储。

2.1 进入https://redis.io/官网,打开Clients客户端

找到java对应的redis客户端,点击Repository

2.2就可以通过java客户端连接redis服务器

如何使用,有两种方式:第一、直接下载包,第二、通过maven的方式

第一种方式:直接下载zip文件

第二种方式:通过maven方式

2.3 下面是采用第二种方式,创建maven项目,添加redis的配置

新建RedisDao类,创建redis对象。

Jedis jedis = new Jedis("redis服务器ip或名称");

通过redis服务器验证是否存入数据库中

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xinlianluohan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值