Redis篇

Redis简介

缓存第一名是redis
NoSql not only sql 非关系型数据库
关系型数据库在web2.0时代,应付大数据量的高并发的动态网站已经力不从心。
四类NoSQL数据库的比较
在这里插入图片描述
在大并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常。这个时候,就需要使用 Redis 做一个缓冲操作,让请求先访问到 Redis,而不是直接访问数据库。
在这里插入图片描述
在这里插入图片描述
主从redis服务器:1.当主redis服务器挂了,可以从从服务器copy恢复;2.主从服务器读写分离,比如从主服务器读,写往从服务器,减轻服务器负担
哨兵模式:中型并发量可以用
在这里插入图片描述
备注:可以有多个哨兵;可支持10万并发量;并发量用压力测试测出的;每个redis服务器放同样的数据
缺点:每次就一个服务器供读写,并发量小
高可用集群模式:1000X10万=一亿并发量;高可用(尽量减少访问瞬断情况的发生,但是不可能100%可用)
在这里插入图片描述
备注:每个集群存的数据不一样,如果你请求的集群不对,Redis会自动匹配正确的集群供你读写;bat公司也这样使用
优势:当master挂了时候,某一个slave替代它顶上去,这一过程造成的访问瞬断情况,在哨兵模式中发生概率极大,在高可用集群模式中发生概率小得多,只有当刚好用到这个集群,恰巧该集群master挂了。

Redis命令

keys * 查看所有的key
set a b 把a设置为b
get a 得到a的值
getset a b 得到a的以前值并设置a的值为b
del a 删除a
incr a 没有a会默认a为0,并递增1;如果存在且为字符串之类,抛异常
decr a 与以上相反
incrby a 5 没有a会默认a为0,并递增5;如果存在且为字符串之类,抛异常
decrby a 5 与以上相反
append a b 得到a的长度,同时将a后面加一个字符串“b”,如果不存在a,默认a为b
hset myhash username jack 通过hget myhash username 得到jack
hmset myhash username rose age 21 通过hmget myhash username age 得到rose 和21
hgetall myhash 得到myhash所有元素
hdel myhash username age 删除字段
hincrby myhash age 5 给age字段增加5
hexists myhash username 是否存在该字段
hlen myhash 属性(字段)个数
hvals myhash 得到所有的属性值
flushall 全部清空redis服务器数据
flushdb 清空当前库
select 0 选择0号库
lpush key value list集合:将一个或多个value值插入到key的最左边
rpush key value list集合:将一个或多个value值插入到key的最右边
lpop key 移除并返回列表key的头(最左边)元素
rpop key 移除并返回列表key的头(最右边)元素
lrange key 0 5 返回key值得第0到第5个数据
lrange key 0 -1 返回key值得第0个到最后一个数据
lrem key count value 从表头开始向表尾搜索,移除count个与value值相同的元素
lindex key index 返回key中下标为index的元素

Redis安装

linux下,使用VMware和Xftp
在这里插入图片描述
在这里插入图片描述
集群至少要三个master,需要是奇数,因为要选举。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /home/redis/bin
cp redis.conf /home/rdis/etc
daemonize为no只能以前台方式运行,设为yes可后台运行
启动:/home/redis/bin/redis-server /home/redis/etc/redis.conf
ps -ef | grep redis 查找redis进程
pkill -9 redis 杀死redis进程
启动某一个端口下的redis:/home/redis/bin/redis-server /home/redis/cluster/7001/redis.conf
(权限不够的话可以在bin目录下这样打命令redis-server …/cluster/7001/redis.conf)
ps -ef | grep redis 可以查看到cluster字样的redis,说明是集群模式的redis
同样的方式启动很多端口下的redis即可。
关闭防火墙systemctl stop firewalld

Redis使用

本地主代码:fa和seckill
搭建:
redis-cli -a zhangqiang cluster create --cluster -replicas 1 192.168.206.155:7001 192.168.206.156:7002 192.168.206.157:7003 192.168.206.155:7004 192.168.206.156:7005 192.168.206.157:7006
这里zhangqiang是密码;replicas后面的1是说一个slave,而master只有一个,因此6个redis可以分成3个集群
./redis-trib.rb create --replicas 1 192.168.206.155:7001 192.168.206.156:7002 192.168.206.157:7003 192.168.206.155:7004 192.168.206.156:7005 192.168.206.157:7006
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里使用Jedis客户端整合java
用redis桌面管理工具连接redis服务器
在这里插入图片描述

Jedis使用

jedis是redis的java客户端
本地主代码:jedis-redis-test
Jedis connection = new Jedis(“192.168.206.155”,6379);
connection.set(key,value);
连接池配置:通过redis连接池,简单操作redis数据库
作用:限定最大连接数,防止redis系统崩溃
节约资源(创建连接、关闭连接耗费资源);节约时间(创建连接,关闭连接耗时);
配置:最大连接数,最小连接数,最大等待时间,测试连接池和redis是否畅通
在这里插入图片描述
900秒操作一次
或者300秒操作10次
或者60秒操作10000次就持久化一次,记录到rdb文件中
rdb和aof:
在操作中,不满足持久化条件的操作,就会用aof记录日志
aof以日志形式记录你的操作过程,解析过来就能还原了
aof是文本文件,操作不耗费太长时间,rdb不是。
redis数据保存原理:
redis可以把数据保存到内存中并且保证数据安全,除此之外还支持磁盘存储,具体做法是满足持久化策略时,做rdb持久化。而没有满足持久化条件的以aof日志方式保存下来,当服务器重启时候,会加载rdb和aof的并集
在这里插入图片描述
RuntimeSchema<User_Info>是一个专门为User_Info准备的高效序列化第三方工具类,比自带的序列化速度快,内存更省。
存取的时候是通过序列化工具类把对象序列化成一个字节数组,再把这个数据存到redis中。
LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE)的作用就是外加一个缓冲区,加快序列化速度。
// NX是不存在时才set, XX是存在时才set, EX是秒,PX是毫秒
jedisClient.set(key, value, “NX”, “EX”, expireSecond);
过期键的处理就是把过期键删除,这里的操作主要是针对过期字段处理的。
Redis中有三种处理策略:定时删除、惰性删除和定期删除。
定时删除:在设置键的过期时间的时候创建一个定时器,当过期时间到的时候立马执行删除操作。不过这种处理方式是即时的,不管这个时间内有多少过期键,不管服务器现在的运行状况,都会立马执行,所以对CPU不是很友好。
惰性删除:惰性删除策略不会在键过期的时候立马删除,而是当外部指令获取这个键的时候才会主动删除。处理过程为:接收get执行、判断是否过期(这里按过期判断)、执行删除操作、返回nil(空)。
定期删除:定期删除是设置一个时间间隔,每个时间段都会检测是否有过期键,如果有执行删除操作。这个概念应该很好理解。

CDN缓存

CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
客户端直接从源站点获取数据,当服务器访问量大时会影响访问速度,进而影响用户体验,且无法保证客户端与源站点间的距离足够短,适合传输数据。
CDN解决的正是如何将数据快速可靠地从源站点传递到客户端,通过CDN对数据的分发,用户可以从一个距离较近的服务器获取数据,而不是源站点,从而达到快速访问、且能减少源站点负载压力的目的。

vim操作

esc normal模式
i或者insert 编辑模式
:wq 保存并退出
:q! 强制退出
/ 搜索 按n下一个
u 撤回 ctrl+u 反撤回
:%s/a/b/g 将a替换成b

Linux命令

head -100 a 看一百行a文件
sync :把内存中的数据写到磁盘中(关机、重启前都需先执行sync)
shutdown -r now或reboot :立刻重启
shutdown -h now :立刻关机
who am i :查看当前使用的终端
who 或 w : 查看所有终端
uname -m :显示机器的处理器架构(如x86_64)
cat /proc/version :查看linux版本信息
uname -r :显示正在使用的内核版本
rpm -qa | grep kernel-devel :查看kernel-devel版本(安装软件时编译内核用,故需要保持内核版本一致性)
clear :清空命令行
ifconfig :显示或设置网卡(查ip等)(类似windows中ipconfig)
ping -c 3 www.baidu.com :测试百度与本机的连接情况( -c 3表示测试3次)
ps aux|grep firefox :获取火狐的进程号(PID)(可查看进程占用cpu、内存百分比及进程触发指令的路径)
kill -9 进程号 :强制杀死进程

文件和目录

​ cd:是Change Directory的缩写,用来切换工作目录,语法:cd [相对或绝对路径或特殊符号]
cd :进入该用户的主目录 ~(root用户为/root,其他用户为/home/用户名)
cd … :返回上一级目录(注意要空格)
cd - :返回上次所在目录
cd / :返回根目录 (绝对路径)
cd ./目录1/目录2 :进入当前目录下的子目录(相对路径)
pwd :显示工作路径(Print Working Directory 的缩写)
ls -a :列出文件下所有的文件,包括以“.“开头的隐藏文件
**ls -lh *.log** :列出文件的详细信息(.log结尾,*为通配符代表任意多个字符)

文件或目录

mkdir dir1 :创建目录(dir1)(mkdir为make directory的缩写)
mkdir -p ./dir1/dir2 :递归创建目录(-p:父目录不存在时,同时建立)
touch a.txt :创建文件a.txt
rm 文件 :删除文件
rm -r 目录或文件 :删除目录(及目录下所有文件)(非空也可以)
rm -rf 目录或文件 :强制删除,如:rm -rf * 为删除当前目录下所有文件
mv a b :移动或者重命名一个文件或者目录(存在即移动目录或覆盖文件,不存在即改名)
mv /opt/git/g /opt/a :移动g到opt目录下并改名为a(a目录不存在,若存在则为移动g到a目录下)
mv -t ./test a.txt b.txt :移动多个文件到某目录下
cp -ai /opt/abc /opt/git/ :复制abc目录(或文件)到git目录下(选项a表

文件权限

chmod [-R] 777文件或目录 :设置权限(chmod a+rwx a=chmod ugo +rwx a=chmod 777 a)

文件查找

locate a.txt :在系统全局范围内查找文件名包含a.txt字样的文件
find /home -mtime -2 :在/home下查最近2*24小时内改动过的文件
find . -size +100M :在当前目录及子目录下查找大于100M的文件
grep -i ‘HELLO’ . -r -n :在当前目录及子目录下查找文件内容中包含hello的文件并显示文件路径(-i表示忽略大小写)
which java :在环境变量$PATH设置的目录里查找符合条件的文件,并显示路径

查看文件的内容

cat [-n] 文件名 :显示文件内容,连行号一起显示
more 文件名 :显示文件内容
ls -lh *xml 只看.xml文件
ls *xml 只看.xml文件
less 文件名 :一页一页的显示文件内容(搜索翻页同man命令)
head [-n] 文件名 :显示文件头n行内容,n指定显示多少行

文本处理

ls -l>file :输出重定向>(改变原来系统命令的默认执行方式):ls -l命令结果输出到file文件中,若存在,则覆盖
cat file1 >>file :输出重定向之cat命令结果输出追加到file文件
vim 文件:编辑查看文件(同vi)

用户与权限

useradd 用户名 :创建用户
userdel -r 用户名 :删除用户:(-r表示把用户的主目录一起删除)
su - 用户名:完整的切换到一个用户环境(相当于登录)(建议用这个)(退出用户:exit)
su 用户名 :切换到用户的身份(环境变量等没变,导致很多命令要加上绝对路径才能执行)
sudo 命令 :以root的身份执行命令(输入用户自己的密码,而su为输入要切换用户的密码,普通用户需设置/etc/sudoers才可用sudo)

压缩、解压和打包备份

tar -zxvf a.tar.gz -C ./test :解压tar.gz到当前目录下的test目录
tar -zcvf /opt/c.tar.gz ./a/ :压缩tar.gz(把当前目录下的a目录及目录下所有文件压缩为 /opt/目录下的c.tar.gz)
tar -jxvf a.tar.bz2 :解压tar.bz2(到当前目录)
tar -jcvf c.tar.bz2 ./a/ :压缩tar.bz2(把当前目录下的a目录及目录下所有文件压缩到当前目录下为c.tar.gz2)
unzip a.zip :解压zip(到当前目录)
zip -r c.zip ./a/ :压缩zip(把当前目录下的a目录及目录下所有文件压缩到当前目录下为c.zip
gzip file1 : 压缩一个叫做 ‘file1’的文件(gzip格式)(不能保留源文件)
压缩一个叫做 ‘file1’的文件

软件安装

尽量用yum源(apt-get)安装,不行就rpm、deb包安装,能不手动编译的就不要手动编译;
apt-get install 软件 :安装软件
apt-get purge 软件 :卸载软件(包括配置文件,只删除软件purge换成remove)
apt-get upgrade :更新所有已安装的软件包
apt-get update :升级列表中的软件包
pip install redis :安装python软件包redis
pip unstall redis :卸载
pip show –files redis :pip查看已安装的包
pip list –outdated :检查更新
make :编译
make install :安装
make clean :删除安装时产生的临时文件
vim /etc/profile export PATH=$PATH:/opt/目录/bin :手动指定安装路径需要加path
hello :执行软件:看INSTALL和README文件(是否源码包、如何安装、执行都看这两个)
rm -rf 软件目录名称 :卸载软件

cmd命令

telnet ip port

Redis集群搭建(伪集群)

在zhangqiang4:192.168.206.158上进行,这是一个centos7系统

Redis安装和配置

yum groupinstall "Development tools"
cd /home/redis
# 下载redis
curl -O http://download.redis.io/releases/redis-5.0.0.tar.gz
# 解压
tar -zxf redis-*.tar.gz
# 将解压的源码目录放到自己的应用目录
mv -f redis-5.0.0 /usr/local/redis
cd /usr/local/redis
make
make install
# 测试是否安装成功, 如果出现版本号说明已经安装成功
redis-cli -v

修改配置文件

vi redis.conf

bind 192.168.206.158

port 6379

daemonize yes # 是否需要以守护进程启动(如果为no, 启动后在前台, ctrl-c退出进程,
可以使用nohub的方式转入后台)

pidfile /home/redis/redis_6379.pid # 可以自行选择目录, 但是确保已经建立好指定的目录再启动服务,
否则启动报错

logfile “/home/redis/logs/6379.log” # 日志目录, 确保存在否则启动报错

dir /home/redis/data # 数据存放目录(RDB和AOF共用), 确保存在否则启动报错

dbfilename 6379.rdb # rdb数据持久化文件

appendonly yes # 打开aof

appendfilename “6379.aof” # aof数据持久化文件

cluster-enabled yes # 集群配置, 开启时单实例机无法执行数据操作(get | set 等)

cluster-config-file nodes-6379.conf # 自动生成, 保存到上面指定的data目录 其他配置保持默认即可.

启动服务推荐使用redis/utils/redis_init_script

ln -s $PWD/utils/redis_init_script /usr/bin/redis
# 这个脚本默认读取的配置文件位置为 /etc/redis/$PORT.conf, 所以先在这个建立位置一个redis.conf的软连接,文件名为端口号
mkdir /etc/redis
ln -s $PWD/redis.conf /etc/redis/6379.conf
# 使用方式如下
redis [start | stop]
# 要查看服务是否已经成功开启, 可根据端口查看或使用客户端连接一次
netstat -npl | grep 6379 # 部分系统版本需要安装net-tools

到此单机redis搭建完毕:
在这里插入图片描述

集群配置

只需要拷贝多份配置文件和启动脚本, 将这两个文件中的端口对应的值替换为不同的端口
特别需要注意的是单机配置多个redis时, 时刻记得–>改端口,改端口,改端口<-- 不能两个服务重复使用同一个端口

mkdir ../redis2
cp redis.conf ../redis2/
cp utils/redis_init_script ../redis2
cd ../redis2
sed -i s/6379/7379/ redis.conf
sed -i s/6379/7379 redis_init_script
#如果上句执行不了,就手动vim redis_init_script改一下端口

ln -s $PWD/redis.conf /etc/redis/7379.conf
./redis_init_script start
# 查看服务是否成功启动, 如果没有出现进程, 查看日志排查问题(一般是指定的文件夹不存在)
netstat -npl | grep 7379

安装ruby环境

# 如果当前系统已经附带了一个低版本的ruby 需要先卸载
yum erase ruby
# 如果是之前自己使用yum安装的, 完整回滚安装操作(remove或者erase不会卸载依赖型)
yum history list ruby
# 结果如下
#    ID | 命令行                   | 日期和时间       | 操作           | 变更数
#-------------------------------------------------------------------------------
#    25 | install ruby -y          | 2018-10-04 16:14 | Install        |    8
# 拿到ID后回滚之前的操作
yum history undo 25
#如果上述命令无效,直接进行下面的操作
cd /home/redis/ruby
curl -O https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.3.tar.gz
#上述下载特别慢的话可以到windows系统里下载,最好配合翻墙软件,没有也可以,尝试用多种浏览器下载,下载失败就重新加载一下。
tar -zxf ruby-2.5.3.tar.gz
cd ruby-2.5.3
./configure --disable-install-doc # 我是没安装文档, 如果需要的可以去掉后边的参数
make && make install
# 检查是否已经成功安装ruby
ruby -v
# 安装gem
cd ..
curl -O https://rubygems.org/rubygems/rubygems-2.7.7.zip
#上述下载特别慢的话可以到windows系统里下载,最好配合翻墙软件,没有也可以,尝试用多种浏览器下载,下载失败就重新加载一下。
unzip rubygems-2.7.7.zip
cd rubygems-2.7.7
ruby setup.rb
gem -v
# 为ruby安装redis组件, 这一步可能比较慢
gem install redis
最后一步gem install redis 如果报错:
ERROR:  Loading command: install (LoadError)
	cannot load such file -- zlib
ERROR:  While executing gem ... (NoMethodError)
undefined method `invoke_with_build_args' for nil:NilClass

这是缺少zlib依赖,需要安装zlib库
还有一种错误:
ERROR:  While executing gem ... (Gem::Exception)
Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources
提示缺少openssl库,这两个库可以通过yum安装,但是安装了需要集成到ruby中。
先解决zlib库问题:
安装zlib库:
yum install zlib-devel
集成zlib库到ruby环境:
cd /data/ruby-2.4.2
cd ext/zlib
ruby extconf.rb
在操作下一步之前需要修改Makefile文件中的zlib.o: $(top_srcdir)/include/ruby.h,将$(top_srcdir)修改为../..如下
zlib.o: ../../include/ruby.h
这一步如果不修改,make时会爆出另外一个错误:
make:*** No rule to make target `/include/ruby.h', needed by `zlib
.o'.  Stop
make && make install
再解决openssl库问题:
安装openssl库:
yum install openssl-devel
集成openssl库到ruby:
cd /data/ruby-2.4.2
cd ext/openssl
ruby extconf.rb
同样修改Makefile中的$(top_srcdir)为../..
make && make install
这里可以用vim里的替换命令:
: %s/$(top_srcdir)/..\/../g
编译成功之后再次运行gem install redis即可。

创建集群

执行:

./redis-trib.rb create --replicas 1 192.168.206.158:6379 192.168.206.158:7379 192.168.206.158:8379 192.168.206.158:9379 192.168.206.158:10379 192.168.206.158:11379

出现这种情况:
在这里插入图片描述
提示让你用redis-cli --cluster create 192.168.206.158:6379 192.168.206.158:7379 192.168.206.158:8379 192.168.206.158:9379 192.168.206.158:10379 192.168.206.158:11379 --cluster-replicas 1:
执行:

redis-cli --cluster create 192.168.206.158:6379 192.168.206.158:7379 192.168.206.158:8379 192.168.206.158:9379 192.168.206.158:10379 192.168.206.158:11379 --cluster-replicas 1

在这里插入图片描述
输入y:
在这里插入图片描述
至此集群已搭建完成,根据提示:
6379、8379、7379三个端口的redis为master,另三个为slave
执行:redis-cli -h 192.168.206.158 -p 6379 -c 即可使用:
在这里插入图片描述
可以看出写入redis的时候重定向到不同的redis端口。
通过redis客户端(Redis Desktop Manager)查看:
在这里插入图片描述
可以看出为三个集群,其中
master1:6379,slave1:11379
master2:7379,slave2:9379
master3:8379,slave3:10379

本地主代码fa验证:

application.yml文件的redis配置如下:

  redis:
    database: 0
    cluster:
      nodes:
      - 192.168.206.158:6379
      - 192.168.206.158:7379
      - 192.168.206.158:8379
      - 192.168.206.158:9379
      - 192.168.206.158:10379
      - 192.168.206.158:11379

# Redis服务器地址
#   host: 192.168.206.158
# Redis服务器连接端口
#   port: 6379

  jedis:
   pool:
    max-active: 8
    max-idle: 8
    max-wait: 5000
    min-idle: 5

controller层一瞥:

package com.redis.spring.boot.controller;
import com.alibaba.fastjson.JSONObject;
import com.redis.spring.boot.bean.PeopleBO;
import com.redis.spring.boot.service.GetNameByIdService;
import org.slf4j.LoggerFactory;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

/**
 * @author 张强[zhangqiang]
 * @date 2019年08月06日 - PM 12:29:09
 * @history 2019年08月06日 - PM 12:29:09  create.
 */
@Controller
@RequestMapping(value="/get")
public class GetPeopleByIdController {
    @Resource
    private GetNameByIdService getNameByIdService;

    private org.slf4j.Logger log           = LoggerFactory.getLogger(this.getClass().getName());

    @Cacheable(value = "get",key = "#id")
    @RequestMapping(value = "/{id}")
    @ResponseBody
    public JSONObject getById(@PathVariable long id,
                              HttpServletRequest httpServletRequest){

        log.info("进入controller层");
        PeopleBO people = getNameByIdService.getPeopleById(id);
        JSONObject jsonObject = new JSONObject();
        if(people == null){
            log.info("没有信息");
            jsonObject.put("message","没有信息");
            return jsonObject;
        }else{
            log.info("执行成功,返回数据");
            jsonObject.put("id",String.valueOf(people.getId()));
            jsonObject.put("name",people.getName());
            return jsonObject;
        }
    }
}

用postman调接口:
在这里插入图片描述
可以看到redis2(port:7379)和redis4(port:9379)写入了
在这里插入图片描述
在linux里通过:get get::2 即可得到:
在这里插入图片描述
至此伪集群搭建完毕,三个集群,每个是一主一从。

设置启动脚本:

redis_cluster_start.sh 放在/usr/local目录下
redis_cluster_start.sh内容:

cd /usr/local/redis
redis start
cd /usr/local/redis2
./redis_init_script start
cd /usr/local/redis3
./redis_init_script start
cd /usr/local/redis4
./redis_init_script start
cd /usr/local/redis5
./redis_init_script start
cd /usr/local/redis6
./redis_init_script start
ps -ef | grep redis
echo "出现redis1-6六个端口的redis进程说明单个redis启动成功"
echo "这6个redis的集群关系之前已经配置好了,执行redis-cli -h 192.168.206.158 -p 6379 -c就可以用了"
redis-cli -h 192.168.206.158 -p 6379 -c

redis_cluster_stop.sh 放在/usr/local目录下
redis_cluster_stop.sh内容为:

pkill -9 redis

至此,启动redis集群只需要:
sh redis_cluster_start.sh start 即可
关闭redis集群只需要:
sh redis_cluster_stop.sh start 即可

在redis-cli -h 192.168.206.158 -p 6379 -c下输入cluster info可以查看集群信息:
在这里插入图片描述
输入:config set requirepass 密码
可以设置密码
也可以在redis.conf里面设置:
redis-cli -h 192.168.206.158 -p 6379 -c -a qwerdf123
这次本地主代码fa用postman调接口会报错:
没有认证
在这里插入图片描述
在application.yml文件里加入redis密码:

redis:
  database: 0
  cluster:
    nodes:
    - 192.168.206.158:6379
    - 192.168.206.158:7379
    - 192.168.206.158:8379
    - 192.168.206.158:9379
    - 192.168.206.158:10379
    - 192.168.206.158:11379
  password: qwerdf123

重启之后即可使用redis集群
postman调接口成功:
在这里插入图片描述
至此redis集群搭建完成。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值