spring tips(5)

### 1. RedisTemplate操作Hash数据对象的方法:

BoundHashOperations及HashOperations

public class RedisDemo{
    //注入RedisTemplate对象
    @Autowired
    private RedisTemplate redisTemplate;

    //创建对象
    BoundHashOperations<String, String, String> hashObj =                 
    redisTemplate.boundHashOps("HashKey");
    //设置过期时间
    hashObj.expire(1, TimeUnit.MINUTES);
    //添加数据
    hashObj.put("SmallKey", "HashVaue");
    hashObj.put("SmallKey1", "HashVaue1");
    hashObj.put("SmallKey2", "HashVaue2");

    //根据key获取value
    String value =  hashObj.get("SmallKey");
    String value1 =  hashObj.get("SmallKey1");
    String value2 =  hashObj.get("SmallKey2");
    System.out.println(value + "--" + value1 + "--" + value2);

    //获取所有的Key
    Set<Object> keys = redisTemplate.boundHashOps("HashKey").keys();
    keys.forEach((item)->{
    System.out.println(item + "----" + hashObj.get(item));
    });

    //获取所有的value
    List<Object> values = redisTemplate.boundHashOps("HashKey").values();
    values.forEach(System.out::print);
    System.out.println("---------------");

    //删除小key数据
    Long isDel = redisTemplate.boundHashOps("HashKey").delete("SmallKey");
    System.out.println("删除数据:" + isDel);
    
    //删除大key数据
    boolean isDelKey = redisTemplate.delete("HashKey");
    System.out.println("删除key:" + isDelKey);

    //判定key是否存在
    Boolean isExite = redisTemplate.boundHashOps("HashKey").hasKey("SmallKey");
    System.out.println(isExite);
}

### 2. 使用spring整合redis中,需要对redis进行配置:

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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

   <!--配置jedis连接池对象-->
    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <!--控制连接池里面能够获取到的最大的连接的jedis个数-->
        <property name="maxTotal" value="1000"/>
        <!--最大空闲连接数-->
        <property name="maxIdle" value="100"/>
        <!--最小空闲连接数-->
        <property name="minIdle" value="2"/>
        <!--到建立连接时,最大等待时间-->
        <property name="maxWaitMillis" value="15000"/>
        <!--资源池中资源的最小空闲时间(单位为毫秒)-->
        <property name="minEvictableIdleTimeMillis" value="300000"/>
        <!--做空闲资源检测时,每次的检测数-->
        <property name="numTestsPerEvictionRun" value="3"/>
        <!--空闲资源的检测周期(单位为毫秒)-->
        <property name="timeBetweenEvictionRunsMillis" value="60000"/>
        <!--从连接池中获取对象会进行检查,检查不通过,会从连接池中移走并销毁-->
        <property name="testOnBorrow" value="true"/>
        <!--归还连接时会进行检查,如果检查不通过,销毁连接-->
        <property name="testOnReturn" value="true"/>
        <!--是否开启空闲资源监测-->
        <property name="testWhileIdle" value="true"/>
    </bean>
    <!--配置jedis连接工厂-->
    <bean id="jedisConnFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <!--hostName:redis服务器的ip地址-->
        <property name="hostName" value="127.0.0.1"/>
        <!--port:redis的端口号-->
        <property name="port" value="6379"/>
        <!--password:如果有密码,就设置密码-->
        <property name="password" value="root"/>
        <!--usePool:是否启用连接池-->
        <property name="usePool" value="true"/>
        <!--poolConfig:将上面配置的jedis连接池对象配置给jedis连接工厂-->
        <property name="poolConfig" ref="jedisPoolConfig"/>
    </bean>
    <!--把RedisTemplate交给Spring管理,用于数据交互-->
    <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
        <!--将jedis连接工厂配置给redistemplate-->
        <property name="connectionFactory" ref="jedisConnFactory"/>
    </bean>
</beans>

配置完成之后,就可以直接在java代码中注入RedisTemplate对象就可以通过redisTemplate使用redis进行操作。

 @Autowired
 private RedisTemplate redisTemplate;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值