美文网首页
一枚iOS程序员学习JavaWeb之路(四)-Redis

一枚iOS程序员学习JavaWeb之路(四)-Redis

作者: Q海龙 | 来源:发表于2018-05-14 17:57 被阅读126次

    在写完ehCache的文章后,贼心不死,恰巧又遇到了一篇文章,试验了一下,竟然神奇的成功了。套用文章的一段话来解释一下为什么Redis作缓存比EhCache好。

    EhCache是进程内的缓存框架,在集群模式下时,各应用服务器之间的缓存都是独立的,因此在不同服务器的进程间会存在缓存不一致的情况。即使EhCache提供了集群环境下的缓存同步策略,但是同步依然需要一定的时间,短暂的缓存不一致依然存在。在一些要求高一致性(任何数据变化都能及时的被查询到)的系统和应用中,就不能再使用EhCache来解决了,这个时候使用集中式缓存是个不错的选择。

    文章地址在此  文章写的简单明了,一步一步来也是能够实现的,下面就针对一直写的工程来具体操作一下(基本与文章里的操作是一样的)

    1、安装Redis

    打开Redis官网,找到最新的稳定版本,下载并解压,通过终端进入到解压后的文件夹内

    编译测试

    sudo make test

    编译安装

    sudo make install

    启动Redis

    redis-server

    停止Redis

    redis-cli shutdown

    2、移除ehCache的依赖,删除ehcache.xml

    3、在pom.xml中添加对redis依赖

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-data-redis</artifactId>

    </dependency>

    如果依赖的是spring-boot-starter-redis,xml会提示一个error,通过查询maven依赖查询网站,可以看到,它被移植到了spring-boot-starter-data-redis里,而它也不赞成被使用了。

    4、在application.properties里添加对redis的配置,以本地运行为例

    spring.redis.host=localhost

    spring.redis.port=6379

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

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

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

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

    到此需要配置的东西就已经完成了。Spring Boot会在侦测到存在Redis的依赖并且Redis的配置是可用的情况下,使用RedisCacheManager初始化CacheManager。我们可以按照上篇文章去测试一下,记得提前启动好redis,不然会提示错误。

    Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to localhost:6379

    5、Redis基本命令

    redis-server        启动

    redis-cli shutdown        关闭

    keys *         查看所有keys

    del key         删除某一个key

    flushdb        删除当前数据库中的所有key

    flushall        删除所有数据库中的key

    to新手朋友们,启动redis后,所有的操作都需要单独开启一个终端,输入redis-cli,启动命令行工具。有关redis的其它命令请参考官方文档

    6、启动好redis后,我们就可以参考上一篇文章中的测试方法,查询->改库->再查询,看看查到的结果是否一致。

    在这里与EhCache不同,如果不把redis缓存清掉的话,不管是重启服务多少次,查到的都是redis缓存里的内容,因此需要在后期,添加对redis缓存的管理类。

    相关文章

      网友评论

          本文标题:一枚iOS程序员学习JavaWeb之路(四)-Redis

          本文链接:https://www.haomeiwen.com/subject/xxvmlftx.html