Redis支持多种语言的客户端,java客户端也有多种实现。如jedis,jredis等。而spring对redis的客户端做了一个统一封装,支持(Jedis, JRedis, and RJC)。闹米工程中采用了通过spring集成jedis的方式。
首先需要引入jar包:spring-data-redis-1.0.0.RELEASE.jar jedis-2.0.0.jar(我曾以为不需要,后来经高少峰提醒,自己去看了下spring-data-redis的源码发现里面确实引用了jedis的类)。
然后在spring配置文件中,添加如下配置
- <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
- <property name="hostName" value="192.168.2.6"/>
- <property name="port" value="6379"/>
- </bean>
-
- <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
- <property name="connectionFactory" ref="jedisConnectionFactory"/>
- </bean>
上面在spring容器中注册了一个redisTemplate对象,使用redis时统一调用此类的方法。下面是其中的一个方法。
-
-
-
-
-
-
- public void setString(final String key, final String value, final long time) {
- template.execute(new RedisCallback<Object>() {
- @Override
- public Object doInRedis(RedisConnection connection) throws DataAccessException {
- connection.select(selectDb);
- connection.setEx(key.getBytes(), time, value.getBytes());
- return true;
- }
- });
- }
使用时,需要注意对对象进行序列化或者反序列化。connection对象中就包含了各种redis的方法。
在这里我列举了使用redis的一些建议(不一定正确)。
1.redis能解决一些问题,但是不能解决100%的问题。
2.根据实际情况,选择合适的数据类型(尽量使用hash,读取速度比较快,但是耗内存)
4.redis的实现方案最好能一起讨论之后,再实现,对redis内存中存放的数据,也需要记录,方便以后重复使用。
5.必须以mysql的数据为准,redis默认的rdb的持久化方式,当服务器挂掉后,会丢失数据。
6.现在redis的更新与同步都是通过在各种场景下通过java代码实现的(代码耦合度比较高,容易出问题)。看看能不能使用mysql binlog 的方式。
7.即便有redis的持久化,其实它的数据也是全部存放在内存中的,所以不要放入一些不必要的数据。放入数据的时候,需要判断是永久数据还是临时数据,对于临时数据,需要尽量设定redis的有效期。
8.需要以后数据量大了之后,并发量大了之后,可能会带来的一些访问延迟,内存不够等问题。
9.redis本身有内存碎片的问题,2.6版采用了新的内存管理管理器。以后建议使用2.6版本的redis。
10.redis最擅长的还是单机版的实现。如果使用持久化或者主从实现的时候,也会有很多问题,可喜的是,按照现在的产品需求与实现,我们都不需要考虑。
分享到:
相关推荐
本篇文章将深入探讨如何在C++中简单使用Redis客户端。 首先,为了在C++中与Redis进行交互,我们需要一个支持C++的Redis客户端库。常见的选择有`hiredis`,这是一个轻量级的C库,同时也提供了C++绑定。另一个是`cpp-...
RedisClient是Redis客户端的GUI工具,使用Java swt和jedis编写,可以方便开发者浏览Redis数据库。该软件支持简体中文,非常适合国内用户使用,不需要汉化就可以直接使用。RedisClient将redis数据以资源管理器的界面...
**Redis图形化桌面客户端详解** Redis,全称Remote Dictionary Server,是一种开源的、基于内存的键值存储系统,常用于数据库、缓存和消息中间件等场景。它以其高性能、低延迟以及丰富的数据结构而备受青睐。为了...
Redis 客户端Redis 客户端Redis 客户端Redis 客户端Redis 客户端Redis 客户端Redis 客户端
在Mac操作系统上,为了方便地管理和操作Redis数据库,我们通常会使用特定的客户端工具。"Redis Desktop Manager for Mac 0.9.3.39"就是这样一个专为Mac用户设计的图形化界面工具,它提供了直观、高效的方式来浏览、...
**二、Redis客户端** 1. **客户端类型**:Redis客户端分为命令行客户端(如redis-cli)和图形界面客户端(如RedisDesktopManager)。命令行客户端适用于快速操作和调试,而GUI客户端适合于日常管理和数据可视化。 ...
本资源提供的“redis客户端免安装版”是一个便捷的Redis管理工具,无需安装过程,解压后即可直接运行,方便用户快速地进行Redis服务器的数据操作与管理。 Redis Desktop Manager是这款客户端的名称,它是一个跨平台...
标题中的“redissentinel基于phpredis扩展的redissentinel客户端”指的是一个使用PHP语言开发的Redis Sentinel客户端,它依赖于phpredis扩展来实现与Redis Sentinel服务的交互。Redis Sentinel是Redis集群的一个重要...
在学习 redis的时候,就利用空闲时间写出来redisClient 的工具类,该工具类重要用于对 redis 集群的操作,不仅可以对对象String对象进行操作,也可以对 Object 进行操作。希望对大家有所帮助。
7. **消息订阅与发布**:Redis Pub/Sub 模块允许客户端订阅特定主题,发布者可以向这些主题发送消息,实现轻量级的消息队列功能。 接下来,关于“redis-desktop-manager-0.8.8.384.exe”文件,这是一个 Redis ...
二、RedisManage客户端工具 1. 用户界面:RedisManage提供了友好的图形用户界面,使操作直观易懂,降低了使用Redis的门槛。 2. 数据操作:通过该工具,用户可以直接查看、添加、修改和删除Redis中的键值对,支持所有...
redis windows 客户端 redis windows 客户端 redis windows 客户端 redis windows 客户端 redis windows 客户端 redis windows 客户端 redis windows 客户端 redis windows 客户端 redis windows 客户端 redis ...
标签“redis工具”暗示了我们可能讨论的是Windows下的Redis客户端工具。这类工具一般具备以下特性: 1. 图形化界面:提供友好的交互式界面,使用户无需通过命令行就能操作Redis。 2. 多种数据类型支持:支持Redis的...
redis客户端的连接工具,mac版本,版本号0.9.3,通过该软件可以再mac上查询redis数据库中的相关数据,比起命令行方便很对
为了能够让广大程序员朋友们享受到这一福利,本人想尽各种办法,使用msys环境构建了一套gcc编译环境,下载Redis的源码,完成了目前最新版本的Redis在Windows环境下的二进制文件的编译,供大家使用。 目前Redis最新...
- **发布/订阅**:Redis的发布订阅功能可以实现消息的实时传递,常用于构建实时通信系统。 RedisDesktopManager作为Redis的可视化客户端,它的主要功能和特性包括: - **多语言支持**:支持多种语言界面,方便不同...
RedisConnect是基于C++11实现的简单易用的Redis客户端。源码只包含一个头文件与一个命令行工具源文件,无需编译安装,真正做到零依赖。自带连接池功能,调用Setup方法初始化连接池,然后执行Instance方法就可以获取...
日常使用linux版连接redis客户端Another-Redis-Desktop-Manager.1.3.9
最近需要在C#中使用Redis,在Redis的官网找到了ServiceStack.Redis,最后在测试的时候发现这是个坑,4.0已上已经收费,后面只好找到3系列的最终版本,最后测试发现还是有BUG或者是我不会用。没有办法,最好找到了...