在springboot项目中,集成各种框架变得非常容易。下面简单介绍一下如何在springboot项目中集成单机模式redis。集群模式也差不多,这里就不过多介绍了。
- 首先你得安装redis服务,无论在linux还是windows系统上。如果没有安装,请自行百度或使用其他科学网站帮助。随后需要在项目的配置文件中配置redis相关参数以及设置jedis连接池的参数。可参考下图配置方式:
-
由于本人使用了maven方式来构建项目,所以需要在项目的pom文件中加入redis相关依赖。
- 之后就需要实现redis配置文件类。配置文件的jedis连接池配置就不列出来了,反正就是根本properties文件来一步一步设置,连接工厂也是跟连接池有关。这里重点介绍一下redisTemplate的实现,以及与redis操作工具类的配合使用。可以根据下图来进行个性化设置:
- 实现配置文件后,就可以在redis工具类RedisUtil中使用redisTemplate了。如下图所示:
- 这里redisTemplate实例化是在redis配置类中实现的。直接将RedisUtil通过注解方式直接注入到spring容器中去,在此过程中使用工具类的setRedisTemplate方法实例化RedisTemplate。这样就能直接通过@AutoWired注解去装配Bean了。
- 在RedisUtil工具类中,我们通过redisTemplate去操作数据结构。无论是一般数据(String),还是Map数据结构,还是List数据结构,都有相应的操作方法。如下图:
- 工具类完成后,在相应的服务层使用这个工具类来操作redis的数据结构实现相应业务。
以上就是一个redis操作类在speingboot项目中的简单实现。除了数据结构的操作,我们还能使用redis的特性来实现一些业务场景特定的功能。例如使用increment方法实现点赞功能;利用redis单线程特性生成唯一主键;将redis与Lua脚本相结合,实现redis分布式锁,当然这需要考虑到业务时间与过期时间的关系问题。
除此之外,在使用redis过程中应该需要考虑到雪崩、穿透和击穿等问题,这也是在面试过程中经常问到的问题。希望对你有所帮助。
Ubuntu如何安装Redis?
我在centos下面安装过reids,可以参考一下。
步骤 1 首先确认系统中是否存在C语言的编译环境
# gcc -version
或者 # g++ --version
yum install -y wget gcc make tcl
步骤 2 下载redis安装包
wget http://download.redis.io/releases/redis-3.2.10.tar.gz
步骤 3 解压到/usr/local/redis
# tar -zxvf redis-3.2.10.tar.gz
# mv redis-3.2.10 /usr/local/redis
# cd redis
步骤 4 安装
# make
# make test
遇到报错
Executing test client: NOREPLICAS Not enough good slaves to write..
可以修改文件tests/integration/replication-2.tcl,将after 1000改为after 10000以延长等待时间。
# make test
# make install PREFIX=/usr/local/redis PREFIX安装指定目录 否则安装到/usr/local/bin里面了
步骤 5 修改配置文件
bind 192.168.225.128
port 6379
timeout 0
daemonize yes
pidfile /var/run/redis6379.pid
loglevel debug
logfile /var/log/redis6379.log
步骤 6 启动
# cd /usr/local/redis6379/bin
# ./redis-server ../redis6379.conf &
# cd /usr/local/redis6380/bin
# ./redis-server ../redis6380.conf &
步骤 7 6380端口启动服务,方法如上,只不过存放的目录不同
安装位置:/usr/local/redis6380
配置文件:/usr/local/redis6380/redis6380.conf
启动后pid文件:/var/run/redis_6380.pid
日志文件:/var/log/redis6380.log
数据文件位置:/data/redis6380/