Redis缓存机制在项目中使用

Redis

<1>Redis的好处:非关系型数据库,数据存到内存中,所以存写速度非常快,因此 redis 被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持不同的业务场景。除此之外,redis 支持事务 、持久化。
<2>使用方式:javaSpring___JedisPool对象
注入对象
@Autowired
private JedisPool jedisPool;
五种数据类型 value
String字符串:
1存:jedisPool.getResource().set(“key”,“value”)
2取:String value=jedisPool.getResource().get(“key”)
Hash哈希:
使用场景jedisPool.getResource().hset(“对象名”,“对象的属性名”,“属性值”)
1存:jedisPool.getResource().hset(“key”,“field”,“value”)
2取:Map<> map=jedisPool.getResource().hgetAll(“key”)
List列表:可重复,存相同类型的数据,key相同
1存:jedisPool.getResource().lpush(“key”,“strings”)
2取:List list=jedisPool.getResource().lrange(“key”)
*Set集合:不可重复,存相同类型的数据,key相同
1存:jedisPool.getResource().sadd(“key”,“members”)
2取:Set set=jedisPool.getResource().smembers(“key”)
Zset(sorted set)其中的成员是唯一的,但分数(score)却可以重复。
1存:jedisPool.getResource().zadd(“key”,“score”,“member”)
2取:Set set=jedisPool.getResource().zrange(“key”,start: 0,end: -1)
<3>业务中的使用
redis.properties

redis.host = 127.0.0.1
redis.port = 6379
redis.timeout = 30000
redis.password=
redis.database=1

spring_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:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
						http://www.springframework.org/schema/beans/spring-beans.xsd
						http://www.springframework.org/schema/context
						http://www.springframework.org/schema/context/spring-context.xsd">
    <context:property-placeholder location="classpath:redis.properties"/>
   <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
       <property name="maxTotal">
           <value>200</value>
       </property>
       <property name="maxIdle">
           <value>50</value>
       </property>
       <property name="testOnBorrow" value="true"></property>
       <property name="testOnReturn" value="true"></property>
   </bean>
    <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
        <constructor-arg name="poolConfig" ref="jedisPoolConfig" />
        <constructor-arg name="host" value="${redis.host}" />
        <constructor-arg name="port" value="${redis.port}" type="int" />
        <constructor-arg name="timeout" value="${redis.timeout}" type="int" />
        <constructor-arg value="#{'${redis.password}'=='' ? null : '${redis.password}'}" />
        <constructor-arg type="int" value="${redis.database}" />
    </bean>
</beans>

<4>应用
Redis存储两个集合,做差值可以找不同
方法:

Set<String> set=jedisPool.getResource().sdiff("key1","key2")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值