作者回复: 首先,是为什么要用,它最基本的使用是什么样的,不同的客户端有些什么差异;然后要了解下它的不同的部署模式,因为这些差异会影响你在系统设计时的各种考虑,用哨兵和用Redis Cluster还是有区别的。在实战中遇到问题该怎么排查等等的。只是一些建议,仅供参考。
作者回复: 这个是在Spring Data Redis里用Jedis客户端时的配置,我在jedis-demo里并没有使用Spring Data Redis,后面的课程中会用到。
作者回复: Jedis有对应的方法的
作者回复: 这个是Java的try-with-resource语法,try结束后会自己把这个resource关闭
作者回复: 你端口绑定了么?我自己主要用Mac,Windows下Docker的问题还真不是很清楚,看看同学中是不是有达人帮忙呢。
作者回复: 这个在讲命令行程序时讲到了两者的区别,可以关注下后面的课程哈
作者回复: 这就是没连上localhost:6379这个端口,你检查下你的Redis吧
作者回复: Jedis不是线程安全的,你打算每次操作前都new一个出来,用完关了么,这样在生产环境里操作的性能会有问题,创建Jedis连接的开销还是挺大的。
作者回复: 看你的需要,可以等它自己过期,重新加载,也可以主动去清理,主要是看你对数据更新时效的要求
作者回复: 只是起个Docker,里面跑跑Redis和Mongo,还有ZK,目测应该OK,如果觉得慢,可以考虑直接在本地安装Redis等
作者回复: RedisTemplate封装了Jedis和Lettuce的操作,根据你Classpath中存在的客户端灵活调整。所以RedisTemplate在你有Jedis时,它就是用Jedis的。用了模板后你的操作看起来能更整齐划一,换个底层实现也一样。
作者回复: 针对你的问题,我特意去看了下Redis的Dockerfile,里面的确是关闭了protected mode,所以你不用设置密码。
作者回复: 效果是一样的,也是依赖。官方文档是这么说的:When beans have dependencies on one another, expressing that dependency is as simple as having one bean method call another
作者回复: 应该还是有别的报错的,比如连Redis失败之类的,你再仔细看看日志
作者回复: 以Jedis为例,我们会配置JedisPool,所以并不会每次都新建一个连接的
作者回复: 这位同学,你那个schema.sql写成了schema..sql,多了个.,不管怎么跑都是不会初始化表的。
作者回复: 你看看类初始化时具体报了什么错误,下面应该还有具体错误信息,可以根据提示再分析一下