redis是经常使用的no-sql数据库,经常使用于缓存数据,同时,他也能够持久化数据。他是C语言开发的,因此安装的时候须要编译。html
yum install gcc-c++(安装C语言编译环境)前端
第一步:redis的源码包上传到linux系统(点击下载)
第二步:tar xzvf redis-3.0.0.tar.gz(解压缩redis)
第三步:make(编译。需进入redis源码目录)
第四步:make install PREFIX=/usr/local/redis(安装redis到指定目录)java
PREFIX参数指定redis的安装目录。通常软件安装到/usr目录下node
./redis-server(服务前端启动)linux
./redis-cli shutdown(服务关闭)c++
./redis-server redis.conf(服务后端启动-需执行如下操做)redis
cp redis.conf /usr/local/redis/bin/(将redis源码redis-3.0.0中的redis.conf复制到安装目录的bin下)算法
修改该配置文件,将其中的daemonize no改成yessql
./redis-cli -h ip地址 -p 端口(链接客户端)数据库
ping(判断服务健康状态)
(1)全部的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽。
(2)节点的fail是经过集群中超过半数的节点检测失效时才生效。
(3)客户端与redis节点直连,不须要中间proxy层.客户端不须要链接集群全部节点,链接集群中任何一个可用节点便可。
(4)redis-cluster把全部的物理节点映射到[0-16383]slot上,cluster 负责维护node<->slot<->value。
(Redis 集群中内置了 16384 个哈希槽,当须要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,而后把结果对 16384 求余数,这样每一个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大体均等的将哈希槽映射到不一样的节点)
Redis集群中至少应该有三个节点。要保证集群的高可用,须要每一个节点有一个备份机。因此集群至少须要6台服务器。搭建伪分布式。可使用一台虚拟机运行6个redis实例。须要修改redis的端口号7001-7006。
将前面单机版的redis复制6份,放入新建文件夹redis-cluster中,分别为redis01~06。而后分别修改redis.conf配置文件。将端口号改成7001~7006,并删除cluster-enabled yes的注释。
yum install ruby(安装ruby)
yum install rubygems(ruby的包管理器)
gem install redis-3.0.0.gem(安装ruby脚本运行使用的第三方包,点击下载)
cp redis-trib.rb /usr/local/redis-cluster(将redis源代码的src目录下的redis-trib.rb复制到redis-cluster文件夹下)
./redis-trib.rb create --replicas 1 ip地址:7001ip地址:7002ip地址:7003ip地址:7004ip地址:7005ip地址:7006(为这七台redis实例搭建集群。其中,-replicas 1的意思是每台redis服务器有一个备份机,执行完此命令后,该脚本会自动为这6个redis实例分配主从和槽。)
./redis-cli -h ip地址 -p 7001 -c(链接redis集群,-c意思是链接的是集群,添加数据的时候会自动跳转到该数据对应槽的redis实例中)
redis做为一个缓存数据库,同时能够持久化数据,应用场景仍是很是多的,安装了redis,接下来就要介绍redis的数据类型以及java应用redis了。