RedisTemplate在java哪个包下面
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RedisTemplate在java哪个包下面相关的知识,希望对你有一定的参考价值。
参考技术A redisDao封装类-其他dao集成他[java] view plain copy
package com.ffcs.wlan.dao.common;
import javax.annotation.Resource;
import org.springframework.data.redis.core.StringRedisTemplate;
/**
* AbstractBaseRedisDao
* @author hugsh
* @version <b>1.0</b>
*/
public abstract class AbstractBaseRedisDao<K, V>
@Resource
protected StringRedisTemplate redisTemplate;
public void setRedisTemplate(StringRedisTemplate redisTemplate)
this.redisTemplate = redisTemplate;
批量插入(不关注返回值)
[java] view plain copy
@Repository
public class RedisInitDao extends AbstractBaseRedisDao<String, Object>
Logger logger=Logger.getLogger(RedisInitDao.class);
/**
* 批量向redis中插入H码:key(tableName:hcode) value(pcode)
* 如果键已存在则返回false,不更新,防止覆盖。使用pipeline批处理方式(不关注返回值)
* @param list 一个map代表一行记录,2个key:hcode & pcode。
* @param tableName redis中key的值为tableName:hcode 对应value值为pcode。
* @return
*/
public boolean addHcode(final List<Map<String, Object>> list,final String tableName)
boolean result = redisTemplate.execute(new RedisCallback<Boolean>()
public Boolean doInRedis(RedisConnection connection)
throws DataAccessException
RedisSerializer<String> serializer = redisTemplate.getStringSerializer();
for (Map<String, Object> map : list)
byte[] key = serializer.serialize(tableName+":"+map.get("hcode").toString());
byte[] name = serializer.serialize(map.get("pcode").toString());
connection.setNX(key, name);
return true;
, false, true);
return result;
批量获取(有返回值)
[java] view plain copy
/**
* 从redis中获取(获取密码日志) rPop从链表尾部弹出(最早的日志)
* 多线程并发读取日志长度的时候,比如都得到结果是1000条。
* 当多线程每个都 循环1000次 pop弹出 日志的时候,
* 由于是多线程一起pop,所以每个线程获得的数组中都会包含 null 甚至有的全是null
* @return
*/
public List<String> getLogFromRedis()
final RedisSerializer<String> serializer = redisTemplate.getStringSerializer();
//密码日志的长度
final Long pwdLogSize=redisTemplate.opsForList().size("getpwdList");
List<Object> pwdLogList=redisTemplate.executePipelined(new RedisCallback<String>()
@Override
public String doInRedis(RedisConnection conn)
throws DataAccessException
for (int i=0 ;i<pwdLogSize ;i++)
byte[] listName = serializer.serialize("getpwdList");
conn.rPop(listName);
return null;
, serializer);
// 去除结果中的null
ArrayList<String> newList=new ArrayList<String>();
for (Object o : pwdLogList)
if(o!=null)
newList.add(String.valueOf(o));
return newList;
基础数据类型工具类(opsForList)
[java] view plain copy
/**
* 向redis中插入获取密码日志:leftPush 从链表头部压入
* @param pwdLog 获取密码的日志
* @return
*/
public void addLogIntoRedis(final String pwdLog)
log.info("insert getpwd log into redis:"+pwdLog);
try
redisTemplate.opsForList().leftPush("getpwdList", pwdLog);
catch (Exception e)
log.error(e.getMessage());
配置文件
[html] view plain copy
<?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"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
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">
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="$redis.maxTotal"></property>
<property name="maxIdle" value="$redis.maxIdle" />
<property name="maxWaitMillis" value="$redis.maxWait" />
<property name="testOnBorrow" value="$redis.testOnBorrow" />
</bean>
<bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
p:host-name="$redis.host" p:port="$redis.port" p:pool-config-ref="poolConfig"/>
<bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
<property name="connectionFactory" ref="connectionFactory" />
</bean>
</beans>
[html] view plain copy
<!-- 引入项目配置文件 -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:redis.properties</value><!-- 引入redis配置文件 -->
<value>classpath:jdbc.properties</value><!-- 定义spring-jdbc配置信息路径 -->
</list>
</property>
</bean>
<!-- 自动扫描model,dao和service包(自动注入) -->
<context:component-scan base-package="com.ffcs.wlan.model,com.ffcs.wlan.dao,com.ffcs.wlan.service" />
属性文件
[html] view plain copy
# Redis settings
redis.host=192.168.11.100
redis.port=6379
#redis.pass=hugsh
redis.maxIdle=25
redis.maxTotal=250
#redis.maxActive=600 invalid in2.4
redis.maxWait=1000
redis.testOnBorrow=true
String包含在Java哪个包里
String包含在Java哪个包里
java的String类在lang包里。
java.lang.String是java字符串类,包含了字符串的值和实现字符串相关操作的一些方法。
常用方法包括:
1、public boolean equals(Object obj)判断当前字符串与obj的内容是否相同
2、public boolean equalsIgnoreCase(String str)判断当前字符串与str的内容是否相同,这个方法不会区分大小写字母的区别
3、public int length()返回字符串的长度,即字符的总个数
4、public String trim()去掉字符串两端的空白,包括“空格,\\t,\\n,\\r等控制符”
5、public String substring(int start,int end)根据开始和结束的位置,返回当前String的子字符串
6、public String substring(int start)从开始位置开始到字符串结束,返回子字符串
7、public char charAt(int index)返回指定位置的字符
8、public int indexOf(String str)返回子字符串在当前字符串的位置,如果当前字符串不包含子字符串就返回-1
9、public String concat(String str)返回一个字符串,内容是当前字符串与str连接而成的。
10、public boolean startsWith(String str)判断当前字符串,是否以str开头
11、public boolean endsWith(String str)判断当前字符串,是否以str结尾
java.lang.String是java字符串类,包含了字符串的值和实现字符串相关操作的一些方法。 参考技术B
java的String类在lang包里。
1.JDK Souce code:
2.JDK api:
参考技术C 楼主您好,String类包含在java.lang这个包中.
在运行的时候会自动导入的.
希望能对你有所帮助,谢谢. 参考技术D java.lang.String
以上是关于RedisTemplate在java哪个包下面的主要内容,如果未能解决你的问题,请参考以下文章