1:Redis学习初级阶段,仅将redis如何存取List<Object>的简单实例分享如下。
2
(1) 修改配置文件application-redis.xml中的 redisTemplate 的属性, 添加该配置的作用是为了存储实体对象,将实体对象序列化后存储,否则就只能存储String的对象。
<property name="keySerializer" > <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" /> </property> <property name="valueSerializer"> <bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" /> </property>
(2)新增需要的实体类对象Address,该实体类必须实现序列化接口,目的嘛,你懂的。
/** * Address 地址实体类 * @author zzs * */ public class Address implements Serializable { /** * Address serialVersionUID */ private static final long serialVersionUID = 6654868162665356297L; private String id; private String name; private String userId;//关联User的id public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } }
扫描二维码关注公众号,回复:
593804 查看本文章
(3)新增接口 IRedisSetAndListDao
/** * Redis 的Set和List操作 * @author zzs * */ public interface IRedisSetAndListDao { /** * 新增addrList数据到内存库 * @param addrList * @return */ public long addListAddress(List<Address> addrList); }
(4)新增实现接口 RedisSetAndListDao
public class RedisSetAndListDao extends AbstractBaseRedisDao<String, Address > implements IRedisSetAndListDao { /** * 新增addrList数据到内存库 * @param addrList * @return */ public long addListAddress(List<Address> addrList) { Address[] addrArray = new Address[addrList.size()]; for( int i = 0 ; i < addrList.size(); i++ ) { addrArray[i] = addrList.get(i); } long i = redisTemplate.opsForList().leftPushAll("addrList", addrArray); return i; } }
(5)在application-redis.xml添加接口的注入配置
<bean id="redisSetAndListDao" class="redis.dao.impl.RedisSetAndListDao" />
(6)在你的测试类里面新增测试方法addListAddress
/** * 新增addrList数据到内存库 * @param addrList * @return */ @Test public void addListAddress() { List<Address> addrList = new ArrayList<Address>(); for( int i = 0; i < 8; i++ ){ Address address = new Address(); address.setId("address"+System.currentTimeMillis()); address.setName("zhangzhisheng"+System.currentTimeMillis()); address.setUserId("userId"+System.currentTimeMillis()); addrList.add(address); } Long count = redisSetAndListDao.addListAddress(addrList); }
下次再见。