Redis安装使用以及集群搭建

redis命令大全:http://redisdoc.com/

文章如有什么错误,还望各位大神指正

1.下载地址:http://download.redis.io/releases/

下载页面.png

2.解压安装:

2.1:redis安装在Linux上,redis是c语言开发的,需要依赖以下环境。
yum -y install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc++-devel tcl
2.2解压:tar -zxvf redis-3.0.0.tar.gz
解压命令.png
2.3进入到redis目录,执行命令:make
make.png

执行完成:
make完成.png
2.4指定安装路径:make install PREFIX=/usr/local/redis
install.png

3 启动redis

3.1进入到redis安装目录的bin目录下:cd /usr/local/redis/bin

启动redis:./redis-server

后台启动.png

3.2 从安装包中复制redis.conf文件到/usr/local/redis/bin中

复制命令:

cp /usr/local/redis-3.0.0/redis.conf ./
3.3 修改redis.conf ,使得redis启动方式为后台启动
vim redis.conf

修改daemonize no 改成 daemonize yes
后台启动配置.png
3.4 启动redis :./redis-server redis.conf
后台启动.png
3.5 允许客户端连接

注释 bind 127.0.0.1
绑定本机配置.png

保护模式protected-mode改成 no
保护模式配置.png

使用命令看一下启动进程:

ps -ef |grep redis

当看到./redis-server *:6379,说明可以使用客户端连接
image
客户端连接.png

4.数据类型及基本命令

redis支持的数据类型有:

4.1 string(字符串)

String:string 是 redis 最基本的类型,一个 key 对应一个 value。常用命令:get、set、incr、decr、mget等,可以使用setnx(set if not exist)命令做redis分布式锁,原理是该命令设置一个key,假如该key存在,就什么都不做,假如不存在,就设置该key,说明抢到了锁。

4.2 hash(哈希)

hash: hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。常用命令:hget,hset,hgetall 等。

4.3 list(列表)

list:有顺序可重复,可以用来做消息队列.常用命令:lpush(添加左边元素),rpush,lpop(移除左边第一个元素),rpop,lrange(获取列表片段,LRANGE key start stop)等。

4.4 set(集合)

set :set是string类型的无序集合,常用命令:sadd,spop,smembers,sunion 等。

4.5 zset(sorted set:有序集合)

zset:zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。常用命令:zadd,zrange,zrem,zcard等

各个数据类型应用场景:

redis应用场景.png

5.redis 集群搭建:

5.1新建redis-cluster文件夹:
mkdir redis-cluster
5.2复制刚刚redis的安装目录:
cp -R /usr/local/redis/* ./
5.3重新命名:mv bin redis-7001
redis-7001.png
5.4修改端口:7001,打开注释cluster-enabled yes
redis集群配置.png
5.5复制5份文件,分别修改端口号:
6份redis.png
5.6写脚本启动全部redis:vim start-all.sh
cd redis-7001
./redis-server redis.conf
cd ..
cd redis-7002
./redis-server redis.conf
cd ..
cd redis-7003
./redis-server redis.conf
cd ..
cd redis-7004
./redis-server redis.conf
cd ..
cd redis-7005
./redis-server redis.conf
cd ..
cd redis-7006
./redis-server redis.conf
cd ..
5.7给权限start-all.sh:
chmod +x start-all.sh
赋权限.png
5.8执行start-all.sh脚本
./start-all.sh

执行后查看端口情况:

ps -ef |grep redis
集群redis.png
5.8集群工具安装

要搭建集群的话,需要使用一个工具(脚本文件),这个工具在redis解压文件的源代码里。因为这个工具是一个ruby脚本文件,所以这个工具的运行需要ruby的运行环境,就相当于java语言的运行需要在jvm上。所以需要安装ruby,指令如下:

yum install ruby

完成安装如下图:

image
5.9安装 ruby相关的包安装到服务器
gem install redis-3.0.0.gem

完成效果图:
完成效果图.png
5.10将redis 解压目录src目录下的redis-trib.rb拷贝到集群的目录文件夹下:
cp redis-trib.rb /usr/local/redis-cluster/
redis集群命令.png
5.11执行集群命令
./redis-trib.rb create --replicas 1 192.168.67.129:7001 192.168.67.129:7002 192.168.67.129:7003 192.168.67.129:7004 192.168.67.129:7005 192.168.67.129:7006

成功如下图:

集群成功效果图.png

测试:添加集群参数

单服务器

spring.redis.cluster.nodes=192.168.67.129:7001,192.168.67.129:7002,192.168.67.129:7003,192.168.67.129:7004,192.168.67.129:7005,192.168.67.129:7006

## 连接池最大连接数(使用负值表示没有限制)

spring.redis.jedis.pool.max-active=300

#spring.redis.jedis.pool.max-wait=-1

## Redis数据库索引(默认为0)

spring.redis.database=0

## 连接池最大阻塞等待时间(使用负值表示没有限制)

spring.redis.jedis.pool.max-wait=-1

## 连接池中的最大空闲连接

spring.redis.jedis.pool.max-idle=100

## 连接池中的最小空闲连接

spring.redis.jedis.pool.min-idle=20

## 连接超时时间(毫秒)

spring.redis.timeout=60000
springboot-redis集群配置
第一次查询:访问数据库:
访问数据库.png
第二次查询:走缓存
缓存.png
查询redis:7001和7004数据是一致的
redis数据.png

页面查询:
页面查询.png

查询节点集群信息命令:

./redis-cli  -p 7001 cluster info

集群信息查询:
集群信息.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容