jedis封裝了redis原有的操作命令,使用起來很簡單。
只需要添加依賴即可操作:
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${jedis.version}</version>
</dependency>
Java中的代碼:
Jedis jedis = new Jedis(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每秒可寫入數據 */ @Test public void test01() { //參數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更簡單
第一步:添加依賴:
<!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>${jedis.version}</version> </dependency>
第二步:添加屬性文件:redis.properties
redis.host = xxx redis.port = 6379 redis.password = xxx redis.timeout = 5000 redis.maxTotal = 100 redis.maxIdle = 20 redis.minIdle = 5
第三步:添加xml配置文件 spring-redis.xml(在springmvc中集成的)
<?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"/> <!--Spring整合配置,連接池配置--> <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxTotal" value="${redis.maxTotal}"/> <property name="maxIdle" value="${redis.maxIdle}"/> <property name="minIdle" value="${redis.minIdle}"/> </bean> <bean id="jedisPool" class="redis.clients.jedis.JedisPool"> <constructor-arg name="poolConfig" ref="poolConfig"/> <constructor-arg name="host" value="${redis.host}"/> <constructor-arg name="port" value="${redis.port}"/> <constructor-arg name="timeout" value="${redis.timeout}"/> <constructor-arg name="password" value="${redis.password}"/> </bean> <bean class="com.supin51.redis.test.SpringBeanHolder"/> </beans>
第四步:添加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 class SpringBeanHolder implements ApplicationContextAware { private static ApplicationContext ac; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { ac = applicationContext; } public static Object getBean(String beanName) { return ac.getBean(beanName); } public static <T> T getBean(Class<T> clazz) { return ac.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 class RedisUtils { 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 */ @Test public void test03() { RedisUtils.set("name","tom"); System.out.println(RedisUtils.get("name")); }
客戶端測試類,插入數據后,獲取輸出。

redis服務器查看:

