Redis可视化工具连接Eclipse,进行一些基础的数据交互!

Emp类

[[Emp(name=name0, password=pwd0)]] 格式

//拆分数组
		Object[] array = range.toArray();
		for(int i = 0;  i < array.length; i++) {
			//System.out.println(array[i]);
			List<Object> arr = (List<Object>) array[i];
			for(Object obj : arr) {
				System.out.println(obj);
			}
		}
package com.laoluo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Emp {
	private String name;
	private String password;
}

redisTest类

package com.pb.redisTest;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= {"classpath:applicationContext.xml"})
public class SpringTest {

	@Autowired
	private RedisTemplate<String, Object> redisTemplate;
	
	
	/**
	 * 保存字符串
	 */
	@Test
	@Ignore
	public void test() {
		
		//删除所有的值
		Set<String> key = redisTemplate.keys("*");
		System.out.println(key);
	    redisTemplate.delete(key);
		
		redisTemplate.opsForValue().set("name", "张三");
		Object object = redisTemplate.opsForValue().get("name");
		System.out.println(object);
	}
    
	
	/**
	 * 保存对象
	 */
	@Test
	@Ignore
	public void test1() {
		Set<String> key = redisTemplate.keys("*");
		System.out.println(key);
		//创建两个对象
		Emp emp1 = new Emp("张三", "123");
		Emp emp2 = new Emp("李四", "abc");
		
		//存入数据
		//如果说我们添加的数据是对象的话
		//<bean class="org.springframework.data.redis.serializer.StringRedisSerializer"></bean>只对String类型有效
		redisTemplate.opsForValue().set("emp1", emp1);
		
		redisTemplate.opsForValue().set("emp2", emp2);
		
		//获取数据库
		Emp e1 = (Emp)redisTemplate.opsForValue().get("emp1");
		Emp e2 = (Emp) redisTemplate.opsForValue().get("emp2");
		System.out.println(e1);
		System.out.println(e2);
	}
	
	/**
	 * 保存我们的Hash
	 */
	@Test
	@Ignore
	public void test2() {
		Set<String> key = redisTemplate.keys("*");
		System.out.println(key);
		//创建两个对象
		
//		redisTemplate.opsForHash().put("map:key", "id", "1");
//		redisTemplate.opsForHash().put("map:key", "name", "张三");
//		redisTemplate.opsForHash().put("map:key", "sex", "男");
//		
//		Object obj = redisTemplate.opsForHash().get("map:key", "id");
//		Object obj1 = redisTemplate.opsForHash().get("map:key", "name");
//		Object obj2 = redisTemplate.opsForHash().get("map:key", "sex");
//		System.out.println(obj + "\t" + obj1 + "\t" +obj2);
		
		Map<String, Emp> map = new HashMap<String, Emp>();
		map.put("emp", new Emp("张三", "123"));
		map.put("emp1", new Emp("李四", "abc"));
		map.put("emp2", new Emp("王五", "abc"));
		map.put("emp3", new Emp("赵六", "abc"));
		map.put("emp4", new Emp("老七", "abc"));
		
		redisTemplate.opsForHash().putAll("map:key", map);
		
		//取数据
//		Map<String, Emp> map1 = redisTemplate.opsForHash().entries("map:key");
//		Iterator<Entry<String, Emp>> itor = map1.entrySet().iterator();
//		while(itor.hasNext()) {
//			Entry<String, Emp> next = itor.next();
//			System.out.println(next);
//		}
		
		
		List<Object> list = redisTemplate.opsForHash().values("map:key");
		for(Object obj:list) {
			Emp emp = (Emp) obj;
			System.out.println(emp);
		}
	}
	
	/**
	 * list集合
	 */
	@Test 
	public void test5() {
		List<Emp> list = new ArrayList<Emp>();
		for(int i = 0;i < 10; i++) {
			Emp emp = new Emp("name" + i, "pwd" + i);
			list.add(emp);
		}
		
		//通过命令放入redis中
		//redisTemplate.opsForList().rightPush("emp:list", list);
		
		//遍历数据
		//List<Object> list2 = redisTemplate.opsForList().range("emp:list", 0, -1);
		//Iterator<Object> itor = list2.iterator();
		redisTemplate.opsForList().rightPushAll("emp:list", list);
		List<Object> range = redisTemplate.opsForList().range("emp:list", 0, -1);
		//System.out.println(range);
		//[
		  //[
			  //Emp(name=name0, password=pwd0), Emp(name=name1, password=pwd1), Emp(name=name2, password=pwd2), 
			  //Emp(name=name3, password=pwd3), Emp(name=name4, password=pwd4), Emp(name=name5, password=pwd5),
			  //Emp(name=name6, password=pwd6), Emp(name=name7, password=pwd7), Emp(name=name8, password=pwd8), 
			  //Emp(name=name9, password=pwd9)
		  //]
	    //]
		//拆分数组
		Object[] array = range.toArray();
		for(int i = 0;  i < array.length; i++) {
			//System.out.println(array[i]);
			List<Object> arr = (List<Object>) array[i];
			for(Object obj : arr) {
				System.out.println(obj);
			}
		}

	}
 
	
	//清空某个库,或清空所有的库
	@Test
    @Ignore
	public void test6() {
		redisTemplate.execute(new RedisCallback<Object>() {
			@Override
			public Object doInRedis(RedisConnection connection) throws DataAccessException {
				connection.flushAll();
				return null;
			}
		});
	} 
	
}

POM依赖

<dependencies>
		<dependency>
			<groupId>com.yugabyte</groupId>
			<artifactId>jedis</artifactId>
			<version>2.9.0-yb-11</version>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
		</dependency>
		<!--spring redis整合依赖 -->
		<dependency>
			<groupId>org.springframework.data</groupId>
			<artifactId>spring-data-redis</artifactId>
			<version>2.0.8.RELEASE</version>
		</dependency>
		<!-- spring测试 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>5.0.7.RELEASE</version>
		</dependency>
		<!-- 将普通的字符串或对象转换为json的依赖 -->
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.9.6</version>
		</dependency>
		<!-- 将一个javaBean转换成一个Map集合 -->
		<dependency>
			<groupId>commons-beanutils</groupId>
			<artifactId>commons-beanutils</artifactId>
			<version>1.9.3</version>
		</dependency>
		<!-- lombok -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.16.18</version>
		</dependency>
	</dependencies>

映射文件

<!-- 创建我们的连接池 -->
	<bean id="jedisPoolConfig"  class="redis.clients.jedis.JedisPoolConfig">
	<property name="maxTotal" value="100"></property>
	<property name="maxIdle" value="90"></property>
	<property name="minIdle" value="10"></property>
	<property name="testOnBorrow" value="false"></property>
	<property name="testOnCreate" value="true"></property>
	<property name="blockWhenExhausted" value="true"></property>
	<property name="maxWaitMillis" value="2000"></property>
	</bean>
	<!-- 创建一个工厂 连接redis -->
	<bean id="jedisConnectionFactory"  class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"> 
	<property name="usePool" value="true"></property>
	<property name="hostName"  value="192.168.178.128"></property>
	<property name="port" value="6379"></property>
	<!-- 连接哪一个数据库 -->
	<property name="database" value="10"></property>
	<!-- 连接那一个连接池 -->
	<property name="poolConfig" ref="jedisPoolConfig"></property>
	</bean>
	<!-- spring专门操作这个redis的对象(jedis) -->
	<!-- spring data依赖里有一个 RedisTemplate -->
	<bean id="redisTemplate"  class="org.springframework.data.redis.core.RedisTemplate">
	<!-- 通过工厂来构建 -->
	<property name="connectionFactory" ref="jedisConnectionFactory"></property>
	
	<!-- 处理字符串key的乱码问题 -->
	<property name="keySerializer">
		<bean class="org.springframework.data.redis.serializer.StringRedisSerializer"></bean>
	</property>
	<!-- 处理字符串Value的乱码问题
		<property name="valueSerializer">
		<bean class="org.springframework.data.redis.serializer.StringRedisSerializer"></bean>
	</property> -->
		<!-- 处理添加数据是对象的时候的字符串操作 -->
		<property name="valueSerializer">
		<bean class="org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer"></bean>
	</property>
	
	<!-- 处理Hash的Key  -->
	<property name="hashKeySerializer">
		<bean class="org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer"></bean>
	</property>
		
	<!-- 处理Hash的Value  -->
	<property name="hashValueSerializer">
		<bean class="org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer"></bean>
	</property>
	
	</bean>
	
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是汤圆丫

怎么 给1分?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值