Redis如何实现数据库读写分离详解

前言

Redis是一种NoSQL的文档数据库,通过key-value的结构存储在内存中,Redis读的速度是110000次/s,写的速度是81000次/s,性能很高,使用范围也很广。Redis是一个key-value存储系统。和Memcached类似,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。在部分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++(hiredis),C#,PHP,JavaScript,Perl,Object-C,Python,Ruby等客户端,使用很方便。

下面用一个实例实现redis的读写分离,步骤如下:

第一步:下载redis

官网下载地址: https://redis.io/download

本地下载地址:

下载最新的稳定版,解压拷贝到 ~/redis 中

编译代码:

$ make
$ test

第二步:配置redis

编辑redis.conf文件

bind 127.0.0.1
port 6379

拷贝redis.conf文件,改名为slave.conf,打开编辑

bind 127.0.0.1
port 6380
slaveof 127.0.0.1 6379  

第三步:运行服务

开启【主服务】

$ src/redis-server

开启【从服务】

$ src/redis-server slave.conf

 运行【主服务】的客户端

$ src/redis-cli

运行【从服务】的客户端

$ src/redis-cli -h 127.0.0.1 -p 6380

查看主从服务的关系

$ src/redis-cli info replication  

第四步:测试服务器

下面实例演示:在主服务器中存储一些数据,然后在从服务器中查询出来

 

 

可以看出,从服务器成功的获取到了主服务器的备份数据。

假如我们在从服务器中保存数据,看结果如何?

 

提示错误:

(error) READONLY You can't write against a read only slave.

 说明从服务器只能读数据,而不能写入数据。

数据在【从服务器】里【读】,在【主服务器】里【写】。

这样就实现了redis数据库的读写分离功能。

总结

本篇文章到此结束,如果您有相关技术方面疑问可以联系我们技术人员远程解决,感谢大家支持本站!


数据运维技术 » Redis如何实现数据库读写分离详解