Redis及Ubuntu14下搭建SSDB主从环境

Redis及Ubuntu14下搭建SSDB主从环境

在工作中接触到了Redis,Redis是一个非常高效的key-value的数据库,在项目中广泛使用,但是redis很明显的缺点是对于内存的处理,在项目上线之初,必须对内存规划合理,否则很容易出现内存爆了的现象,一般较合理的内存大小为电脑物理内存的3/5。

Redis提供了多种数据类型,我经常使用的为String 、Hash、List、Set、Sorted Set,基本能满足项目对于数据类型的要求。我们使用的是Redis的Java客户端,提供了一系列针对Redis命令对应的api。redis的持久化提供了多种策略,但我们没有去做持久化,自己研究了下,AOF方式感觉是最可靠的,原理和Mysql的二进制日志很类似,也是将操作信息记录下来写到文件,从服务器去读取日志并执行操作。

在平常内网开发中可能经常需要调整数据存储细节,所以如果之前的数据依然驻留在内存中,会导致很多功能无法正常运行,所以在调整细节之后,需要对Redis数据库Flushdb操作。

Redis与Ssdb在某些场景很适合使用,比如某些数据在数据库中只能残留2分钟,类似YY频道T人,固定几分钟后才能进来,就可以使用setex key seconds value命令,之后判断是否过期可以通过exists key 命令。

Redis常用命令网站:http://redis.readthedocs.org/en/latest/ 涵盖了redis的命令及demo。

在搭Ssdb前说Redis,因为Ssdb很好的兼容了Redis的API。是Redis的很好替代品。

Ssdb相对于Redis来说有很多优点:是Redis数据库的100倍容量,可以存储几十亿的数据量。相对Redis来说,占用内存很少。所以自己也去下载了ssdb,以下是ssdb搭建的过程。

环境:ubuntu14 


虚拟机A: 192.168.1.251 


虚拟机B: 192.168.1.252 


网关: 192.168.1.1 

我的两台虚拟机是分别装在不同的物理机上,但都采用的是桥接方式,ip地址都是在同一个ip段。

在两台虚拟机下分别都在线安装下ssdb。

wget--no-check-certificatehttps://github.com/ideawu/ssdb/archive/master.zip


unzipmaster


cdssdb-master


make


sudomakeinstall

这些在ssdb官网都能找到,http://www.ideawu.com/ssdb/zh_cn/。

ssdb主从搭建其实非常之简单,你只需要在两台虚拟机ssdb安装目录下找到ssdb.conf.

sudovissdb.conf

修改server 下的ip为虚拟机默认的IP地址。

虚拟机A:

server:


ip:192.168.1.251


port:8888//我端口没改,用默认

虚拟机B:

server:


ip:192.168.1.252


port:8888

这是最基本的配置。

现在只要在A的基础上对于ssdb.conf下配置:

replication:


slaveof:


#toidentifyamasterevenifitmoved(ip,portchanged)


#ifsettoemptyornotdefined,ip:portwillbeused.


id:svc_2


#sync|mirror,defaultissync


type:sync


ip:192.168.1.252


port:8888

注意:在以上的配置过程中,千万不要用空格键,使用tab.

现在可以启动ssdb了。

./ssdb-serverssdb.conf

之后就可以使用ssdb提供的命令行工具来操作了。

虚拟机A:./ssdb-cli -h 192.168.1.251 -p 8888

虚拟机B:./ssdb-cli -h 192.168.1.252 -p 8888

相关推荐