接口:

package com.net.test.redis.base.dao;

import java.util.List;

/**
* @author ***
* @Time:2017年8月10日 上午9:23:07
* @version 1.0
* @description
*/
public interface IRedisDaoList { public void lPush(String key, String value); public void lPushAll(String key, List<String> list); public void set(String key, int offset, String value); public void insert(String key, String value1, String value2); public void getValueByIndex(String key, int offset); public void size(String key); public void remove(String key, long count, String value); public void trim(String key, int start, int end); public void lpop(String key); public void lrange(String key, int start, int end); public void rightPopAndLeftPush(String sourceKey, String destinationKey); }

实现类:

package com.net.test.redis.base.dao.imp;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.ListOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Repository; import com.net.test.redis.base.dao.IRedisDaoList; /**
* @author ***
* @Time:2017年8月10日 上午10:58:42
* @version 1.0
* @description
*/
@Repository
public class RedisDaoListImp implements IRedisDaoList { @Autowired
private RedisTemplate<String, String> redis; /**
* @description 简单的往数组里面添加元素
* @param key
* @param value
*/
@Override
public void lPush(String key, String value)
{
ListOperations<String, String> oper = redis.opsForList();
int backValue = oper.leftPush(key, value).intValue();
System.out.println("返回值 : " + backValue);
} /**
* @description 批量往数组里面添加元素
* @param key
* @param list
*/
public void lPushAll(String key, List<String> list)
{
ListOperations<String, String> oper = redis.opsForList();
int backValue = oper.leftPushAll(key, list).intValue();
System.out.println("返回值 : " + backValue);
} /**
* @description 对指定下标的数组元素进行替换
* @param key
* @param offset
* @param value
*/
@Override
public void set(String key, int offset, String value)
{
ListOperations<String, String> oper = redis.opsForList();
oper.set(key, offset, value);
} /**
* @description 对指定下标的数组进行插入数据
* @param key
* @param value1 原有值
* @param value2 插入的值
*/
@Override
public void insert(String key, String value1, String value2)
{
ListOperations<String, String> oper = redis.opsForList();
int backValue = oper.leftPush(key, value1, value2).intValue();
System.out.println("返回值 : " + backValue);
} /**
* @description 获取指定下标的数组元素
* @param key
* @param offset
*/
@Override
public void getValueByIndex(String key, int offset)
{
ListOperations<String, String> oper = redis.opsForList();
String value = oper.index(key, offset);
System.out.println(offset + "位置下的值为 : " + value);
} /**
* @description 获取数组长度
* @param key
*/
@Override
public void size(String key)
{
ListOperations<String, String> oper = redis.opsForList();
int length = oper.size(key).intValue();
System.out.println(key + " 数组长度为 : " + length);
} /**
* @description 移除数组匹配到的数据元素
* @param key
* @param count 负数:从右往左 整数:从左往右
* @param value 移除的值
*/
@Override
public void remove(String key, long count, String value)
{
ListOperations<String, String> oper = redis.opsForList();
int backValue = oper.remove(key, count, value).intValue();
System.out.println(key + " 数组长度为 : " + backValue);
} /**
* @description 保留区间内的元素,区间外的全部删除
* @param key
* @param start 区间开始
* @param end 区间结束
*/
@Override
public void trim(String key, int start, int end)
{
ListOperations<String, String> oper = redis.opsForList();
oper.trim(key, start, end);
} /**
* @description 从左到右,删除第一个元素
* @param key
*/
public void lpop(String key)
{
ListOperations<String, String> oper = redis.opsForList();
String value = oper.leftPop(key);
System.err.println("移除的元素 : " + value);
} /**
* @description 查询区间范围内的元素
* @param key
* @param start
* @param end
*/
@Override
public void lrange(String key, int start, int end)
{
ListOperations<String, String> oper = redis.opsForList();
List<String> list = oper.range(key, start, end);
for(String str : list)
{
System.out.println("遍历 : " + str);
}
} /**
* @description 两个list之间移元素
* @param sourceKey 源
* @param destinationKey 目的地
*/
@Override
public void rightPopAndLeftPush(String sourceKey, String destinationKey)
{
ListOperations<String, String> oper = redis.opsForList();
String v = oper.rightPopAndLeftPush(sourceKey, destinationKey);
System.out.println("----------" + v);
} }

最新文章

  1. string find
  2. XAMPP里tomcat启动报错:Make sure you have Java JDK or JRE installed and the required ports are free
  3. 百度Tera数据库介绍——类似cassandra,levelDB
  4. C语言每日一题之No.12
  5. 在 mvc 中使用下拉列表
  6. Struts2 中的值栈的理解
  7. 源码分析shiro认证授权流程
  8. sql语句判断方法之一
  9. 【Lucene3.6.2入门系列】第14节_SolrJ操作索引和搜索文档以及整合中文分词
  10. Android CountDownTimer 倒计时
  11. SQL数据库的应用一(Day 24)
  12. Linux看门狗脚本 1.4
  13. react起步
  14. EM 期望最大化算法
  15. Redis 2种持久化模式的缺陷
  16. [LeetCode] Best Time to Buy and Sell Stock with Transaction Fee 买股票的最佳时间含交易费
  17. Netty源码—三、select
  18. SAP CRM Installed Bases(IBase)简介
  19. SHELL脚本--变量(基础)
  20. Lozad.js 简单使用

热门文章

  1. c语言字符串操作总结(转)
  2. PHP setcookie()用法
  3. 为什么有人会觉得IT门槛低,工资高?
  4. C#获得字符串首字符字母(大写)
  5. 图片单独上传 (word)
  6. ubuntu配置硬盘开机自动挂载
  7. Android Asynchronous Http Client
  8. 网页title旁边的小图片
  9. 自定义列表dl
  10. java基础概念整理综合 及补充(jdk1.8)