Spring Data Redis入门示例:基于Jedis及底层API

使用底层API:RedisConnectionFactory和RedisConnection可以直接操作Redis,下面是一个简单的例子:

Maven依赖

<properties>
    <jedis.version>2.9.0</jedis.version>
    <spring.redis.version>1.8.2.RELEASE</spring.redis.version>
</properties>
<dependencies>
    <!-- jedis -->
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>${jedis.version}</version>
    </dependency>
    
    <!-- spring-data-redis -->
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-redis</artifactId>
        <version>${spring.redis.version}</version>
    </dependency>
 </dependencies>

配置redis.properties

redis.host=127.0.0.1
redis.port=6379

配置Spring-data-redis.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">

<!-- 读取properties文件 -->
<bean id="propertyConfigurerForProject1"
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="order" value="1" />
    <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
    <property name="ignoreResourceNotFound" value="true" />
    <property name="ignoreUnresolvablePlaceholders" value="true"/>
    <property name="locations">
        <list>
            <value>classpath*:redis.properties</value>
        </list>
    </property>
</bean> 
   
<!-- Jedis ConnectionFactory -->
<bean id="jedisConnectionFactory"  
      class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
      p:host-name="${redis.host}"
      p:port="${redis.port}" />
</beans>

操作Redis

public static void main( String[] args )
{
    ApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring-data-redis.xml");
    
     // 直接通过连接进行操作
     JedisConnectionFactory jedisConnectionFactory = context.getBean(JedisConnectionFactory.class);
     RedisConnection redisConnection = jedisConnectionFactory.getConnection();
    
     // 设置值
     redisConnection.set("name".getBytes(),"wangdh".getBytes());
   
     // 获取值
     byte[] value = redisConnection.get("name".getBytes());
     System.out.println(new String(value));
}

示例说明

1. Spring Data Redis使用的是1.8.2.RELEASE,最新的2.x版本对配置进行了封装,并且基于Spring Cache的实现使用起来不习惯,就没选用2.x版本。
2. Spring Data Redis默认对数据进行了基于JDK的序列化,所以在redis中看到的数据是二进制类型数据,更改序列化方式即可。
3. 使用底层API:RedisConnection操作Redis,需要对数据进行手动转换(String byte),需要进行多数重复性工作,效率低下,下一节介绍更高层次的封装。
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,311评论 19赞 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,448评论 6赞 342
  • 重要说明:本方是翻译自https://docs.spring.io/spring-cloud-dataflow/d...
    静悟2020阅读 10,870评论 1赞 12
  • 十渡 四渡 坐在四渡桥下 细细听着水声拍打 层次不齐摇摇晃晃 难能可贵的清静和清晰 河边不知是海鸥还是何种动物 飞...
    二哈T阅读 347评论 1赞 1
  • 每日打卡。 来评论区记录下今天的收获和成长吧!
    树洞君阅读 198评论 2赞 1

友情链接更多精彩内容