一、操作String类型数据

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring/applicationContext-redis.xml")
public class RedisStrTest { @Autowired
private RedisTemplate redisTemplate; @Test
public void testSetString(){
//模板绑定存储的数据类型为String并存入数据: key是bookName value是Java基础
redisTemplate.boundValueOps("bookName").set("Java基础");
} @Test
public void testGetString(){
//模板绑定存储的数据类型为String并取数据:使用key bookName
String testStr = (String) redisTemplate.boundValueOps("bookName").get();
System.out.println(testStr);
} @Test
public void testDelString(){
//直接用模板根据key删除数据,删除后无数据查询返回null
redisTemplate.delete("bookName");
} //使用相同的key重新设置值便是更新
}

二、操作List类型数据

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring/applicationContext-redis.xml")
public class RedisListTest { @Autowired
private RedisTemplate redisTemplate; @Test
public void testSetList(){
//模板绑定存储的数据类型为List并存入数据:key是myList,List的数据类型
redisTemplate.boundListOps("myList").leftPush("java");
redisTemplate.boundListOps("myList").leftPush("c#");
redisTemplate.boundListOps("myList").leftPush("python");
} @Test
public void testGetList(){
//模板绑定存储的数据类型为List并取数据:key是myList,rang中0是开始,-1是全部
List myList = redisTemplate.boundListOps("myList").range(0, -1);
myList.stream().forEach(System.out::println);
//取list中的一个数据 :先进先出(相当于弹出-删除了)
//String myList = (String) redisTemplate.boundListOps("myList").rightPop();
//System.out.println(myList); //java
} @Test
public void testDelList(){
//直接用模板根据key删除数据(删除整个集合)
redisTemplate.delete("myList");
//指定删除list的数据 :删除一个java
//redisTemplate.boundListOps("myList").remove(1,"java");
} //使用相同的key重新设置值便是更新
}

三、操作Set类型数据

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring/applicationContext-redis.xml")
public class RedisSetTest { @Autowired
private RedisTemplate redisTemplate; @Test
public void testSetValue(){
//模板绑定存储的数据类型为Set并存入数据: key是mySet
redisTemplate.boundSetOps("mySet").add("Java");
redisTemplate.boundSetOps("mySet").add("c#");
redisTemplate.boundSetOps("mySet").add("python");
redisTemplate.boundSetOps("mySet").add("html");
} @Test
public void testGetValue(){
//模板绑定存储的数据类型为Set并取数据:使用key为 mySet
Set mySet = redisTemplate.boundSetOps("mySet").members();
mySet.stream().forEach(System.out::println);
} @Test
public void testDelValue(){
//直接用模板根据key删除数据,删除整个Set集合
redisTemplate.delete("mySet");
//redisTemplate.boundSetOps("mySet").remove("html");
} //使用相同的key重新设置值便是更新
}

四、操作ZSet类型数据

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring/applicationContext-redis.xml")
public class RedisZSetTest { @Autowired
private RedisTemplate redisTemplate; //ZSet集合有序,数据有分值
@Test
public void testSetValue(){
//模板绑定存储的数据类型为Set并存入数据: key是myZSet
redisTemplate.boundZSetOps("myZSet").add("Java",15);
redisTemplate.boundZSetOps("myZSet").add("c#",55);
redisTemplate.boundZSetOps("myZSet").add("python",25);
redisTemplate.boundZSetOps("myZSet").add("html",45);
} @Test
public void testGetValue(){
//1.模板绑定存储的数据类型为ZSet并取数据:使用key为 myZSet(取一定分值范围的)
//Set myZSet = redisTemplate.boundZSetOps("myZSet").rangeByScore(20, 50);
//myZSet.stream().forEach(System.out::println);
//2.取全部的
//Set myZSet = redisTemplate.boundZSetOps("myZSet").range(0, -1);
//myZSet.stream().forEach(System.out::println);
//3.取数据,带分值
Set<DefaultTypedTuple> myZSet = redisTemplate.boundZSetOps("myZSet").rangeWithScores(0, -1);
for (DefaultTypedTuple defaultTypedTuple : myZSet) {
System.out.println(defaultTypedTuple.getValue());//数据
System.out.println(defaultTypedTuple.getScore());//分值
}
} @Test
public void testDelValue(){
//1.直接用模板根据key删除数据,删除整个ZSet集合
//redisTemplate.delete("myZSet");
//2.删除部分数据
redisTemplate.boundZSetOps("myZSet").removeRangeByScore(15,25);
} //使用相同的key重新设置值便是更新
}

五、操作Hash类型数据

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring/applicationContext-redis.xml")
public class RedisHashTest { @Autowired
private RedisTemplate redisTemplate; @Test
public void testSetHash(){
//模板绑定存储的数据类型为Hash并存入数据: key是myHash value是{后端:Java}等键值对
redisTemplate.boundHashOps("myHash").put("后端","Java");
redisTemplate.boundHashOps("myHash").put("前端","html");
redisTemplate.boundHashOps("myHash").put("数据库","mysql");
} @Test
public void testGetHash(){
//模板绑定存储的数据类型为Hash并取数据:使用key为 myHash,获取键的集合
//Set myHash = redisTemplate.boundHashOps("myHash").keys();
//myHash.stream().forEach(System.out::println);
//获取value的集合(值可重复,所以是list)
//List myHash = redisTemplate.boundHashOps("myHash").values();
//myHash.stream().forEach(System.out::println);
//使用myHash这个key获取到Hash并用键获取值
String s = (String) redisTemplate.boundHashOps("myHash").get("后端");
System.out.println(s);
} @Test
public void testDelHash(){
//直接用模板根据key删除数据,删除整个Hash集合
//redisTemplate.delete("myHash");
redisTemplate.boundHashOps("myHash").delete("后端");
} //使用相同的key重新设置值便是更新
}

原文链接:Redis和SpringDataRedis

通过spring-data-redis操作Redis的更多相关文章

  1. 使用Spring Data Redis操作Redis(集群版)

    说明:请注意Spring Data Redis的版本以及Spring的版本!最新版本的Spring Data Redis已经去除Jedis的依赖包,需要自行引入,这个是个坑点.并且会与一些低版本的Sp ...

  2. spring data jpa 操作pipelinedb 的continuous view 与stream

    一. 由于pipelinedb是postgreSQL的扩展,因此相关依赖于配置都合集成postgreSQL是一样的. springboot + spring data jpa + postgreSQL ...

  3. Spring Boot使用Spring Data Redis操作Redis(单机/集群)

    说明:Spring Boot简化了Spring Data Redis的引入,只要引入spring-boot-starter-data-redis之后会自动下载相应的Spring Data Redis和 ...

  4. 使用Spring Data Redis操作Redis(单机版)

    说明:请注意Spring Data Redis的版本以及Spring的版本!最新版本的Spring Data Redis已经去除Jedis的依赖包,需要自行引入,这个是个坑点.并且会与一些低版本的Sp ...

  5. Spring 使用RedisTemplate操作Redis

    首先添加依赖: <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency> < ...

  6. Spring Data Solr操作solr的简单案例

    Spring Data Solr简介 虽然支持任何编程语言的能力具有很大的市场价值,你可能感兴趣的问题是:我如何将Solr的应用集成到Spring中?可以,Spring Data Solr就是为了方便 ...

  7. 通过Spring Data Neo4J操作您的图形数据库

    在前面的一篇文章<图形数据库Neo4J简介>中,我们已经对其内部所使用的各种机制进行了简单地介绍.而在我们尝试对Neo4J进行大版本升级时,我发现网络上并没有任何成型的样例代码以及简介,而 ...

  8. Spring Boot (五)Spring Data JPA 操作 MySQL 8

    一.Spring Data JPA 介绍 JPA(Java Persistence API)Java持久化API,是 Java 持久化的标准规范,Hibernate是持久化规范的技术实现,而Sprin ...

  9. [Reprinted] 使用Spring Data Redis操作Redis(一) 很全面

    Original Address: http://blog.csdn.net/albertfly/article/details/51494080

  10. 使用WeihanLi.Redis操作Redis

    WeihanLi.Redis Intro StackExchange.Redis 扩展,更简单的泛型操作,并提供一些的适用于业务场景中的扩展 基于 Redis 的五种数据类型扩展出了一些应用: Str ...

随机推荐

  1. 如何系统学习C 语言(中)之 结构体篇

    1,结构体 在前面我们知道变量和数组都可以用来存储数据,变量用来存储单个数据,数组可以用来存储一组同类型的数据,但你有没有发现--它们都只适合单一属性的数据.那现实生活中,很多对象都是具有多属性的.例 ...

  2. ORACLE,mysql中替换like的函数

    数据库中存储了海量的数据,当查询时使用like,速度明显变慢.我在做项目时,发现使用内部函数INSTR,代替传统的LIKE方式查询,并且速度更快. INSTR()函数返回字符串中子字符串第一次出现的位 ...

  3. Part 19 AngularJS Services

    What is a service in AngularJSBefore we talk about what a service is in Angular. Let's talk about a ...

  4. Qt分析:Qt中的两种定时器

    QTimer类的定时器 QTimer类定时器是QObject类定时器的扩展版或者说升级版,因为它可以提供更多的功能.比如说,它支持单次触发和多次触发. 使用QTimer类定时器的步骤: (1)创建一个 ...

  5. Python基础(filter)

    arr = [1,2,3,1,1,3,6,9] def f1(x): if x > 2: return True arr1 = list(filter(f1,arr)) print(arr1)# ...

  6. Django笔记&教程 6-1 表单(Form)介绍

    Django 自学笔记兼学习教程第6章第1节--表单(Form)介绍 点击查看教程总目录 1 介绍 如果网站要让用户输入并提交数据(比如注册登录),则需要用到表单. 单纯的html也能写出表单,格式一 ...

  7. 你真的懂Redis的5种基本数据结构吗?

    摘要: 你真的懂Redis的5种基本数据结构吗?这些知识点或许你还需要看看. 本文分享自华为云社区<你真的懂Redis的5种基本数据结构吗?这些知识点或许你还需要看看>,作者:李子捌. 一 ...

  8. 史上最俗的MODBUS介绍

    如今网购正深深地改变着人们的生活,以前买东西要逛商场,先找楼层导购,再逛到相应柜台,接着愉快购物,选好东西后经过一番讨价还价,最后付钱拿货走人,这些都是稀松平常的场景.可是,如果没有实际看见东西,只在 ...

  9. Pycharm整体缩进和减少缩进

    整体缩进:鼠标拉选住代码块,按下tab键. 反向缩进:鼠标拉选住代码块,按下shift+tab键.

  10. 【Azure API 管理】在APIM 中添加 log-to-eventhub 策略,把 Request Body 信息全部记录在Event Hub中

    问题描述 根据文档 https://docs.azure.cn/zh-cn/api-management/api-management-howto-log-event-hubs, 可以将Azure A ...