jedis封装了redis原有的操作命令,使用起来很简单。
只需要添加依赖即可操作:
redis.clients
jedis
${jedis.version}
Java中的代码:
Jedis jedis = newJedis(LOCALHOST,PORT);//设置地址和端口
jedis.auth(PASSWORD);//如果redis服务器配置了需要密码,此处必须设置//存储集合到redis,并取出
jedis.lpush("mylist","admin","tom","jack");
System.out.print(jedis.lrange("mylist",0,-1));
客户端插入后,获取后打印输出
redis服务器端查看:
使用流水线Pipeline模式测试向redis服务器每秒可写多少数据
/**
* 测试redis每秒可写入数据*/@Testpublic voidtest01()
{//参数1:主机地址,参数2:端口号
Jedis jedis = new Jedis(LOCALHOST,PORT);//连接redis//如果服务器的配置文件设置了需要密码验证
jedis.auth(PASSWORD);//输入密码验证//开启流水线
Pipeline pipeline =jedis.pipelined();int i = 0;try{long start =System.currentTimeMillis();while (true)
{long end =System.currentTimeMillis();//当大于等于1秒时,结束操作
if(end-start>=1000){break;
}
i++;
pipeline.set("test"+i,i+"");//使用流水线方式向redis数据库插入数据//jedis.set("test"+i,i+"");//向redis数据库插入数据
}
}finally{
jedis.close();//关闭连接
}//打印1秒内对redis操作的次数
System.out.println("redis每秒操作"+i+"次");
}
可以看到,每秒可写142611次,redis服务器查看,数据插入成功。
下面在springMVC中整合redis,使用redisUtils工具类操作redis更简单
第一步:添加依赖:
redis.clients
jedis
${jedis.version}
第二步:添加属性文件:redis.properties
redis.host =xxx
redis.port= 6379redis.password=xxx
redis.timeout= 5000redis.maxTotal= 100redis.maxIdle= 20redis.minIdle= 5
第三步:添加xml配置文件 spring-redis.xml(在springmvc中集成的)
第四步:添加SpringBeanHolder类加载bean
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanInitializationException;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;/**
* @Author:ShaoJiang
* @description:
* @Date: created in 下午10:49 2019/2/12
* @Modified By:*/
public classSpringBeanHolder implements ApplicationContextAware {private staticApplicationContext ac;
@Overridepublic voidsetApplicationContext(ApplicationContext applicationContext) throws BeansException {
ac=applicationContext;
}public staticObject getBean(String beanName)
{returnac.getBean(beanName);
}public static T getBean(Classclazz)
{returnac.getBean(clazz);
}
}
第五步:添加redisUtils工具类:
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;/**
* @Author:ShaoJiang
* @description:
* @Date: created in 下午10:48 2019/2/12
* @Modified By:*/
public classRedisUtils {private static JedisPool jedisPool = null;private static ApplicationContext context = null;static{//加载xml文件
context = new ClassPathXmlApplicationContext("classpath:spring-redis.xml");//获取jedis连接池
jedisPool = (JedisPool)SpringBeanHolder.getBean("jedisPool");
}public static void set(String key ,String value)
{// Jedis jedis = null;try{if(jedis==null){
jedis=jedisPool.getResource();
jedis.set(key,value);
}
}catch(Exception e) {
e.printStackTrace();
}finally{
jedis.close();
}
}public static String get(String key)
{
Jedis jedis= null;try{if(jedis==null){
jedis=jedisPool.getResource();return jedis.get(key);
}
}catch(Exception e) {
e.printStackTrace();
}finally{
jedis.close();
}return null;
}
}
最后测试:
/**
* 使用redisUtils工具类操作redis*/@Testpublic voidtest03()
{
RedisUtils.set("name","tom");
System.out.println(RedisUtils.get("name"));
}
客户端测试类,插入数据后,获取输出。
redis服务器查看: