首页 > 其他分享 >reddies常规操作

reddies常规操作

时间:2023-04-10 10:11:32浏览次数:37  
标签:String myZset reddies System 常规 println 操作 redisTemplate out

import org.junit.Test;  
import org.junit.runner.RunWith;  
import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.boot.test.context.SpringBootTest;  
import org.springframework.data.redis.connection.DataType;  
import org.springframework.data.redis.core.*;  
import org.springframework.test.context.junit4.SpringRunner;  
  
import java.util.List;  
import java.util.Set;  
import java.util.concurrent.TimeUnit;  
  
@SpringBootTest  
@RunWith(SpringRunner.class)  
public class SpringDataRedisTest {  
  
    @Autowired  
    private RedisTemplate redisTemplate;  
  
    /**  
     * 操作String类型数据  
     */  
    @Test  
    public void testString(){  
        redisTemplate.opsForValue().set("city123","beijing");  
  
        String value = (String) redisTemplate.opsForValue().get("city123");  
        System.out.println(value);  
  
        redisTemplate.opsForValue().set("key1","value1",10l, TimeUnit.SECONDS);  
  
        Boolean aBoolean = redisTemplate.opsForValue().setIfAbsent("city1234", "nanjing");  
        System.out.println(aBoolean);  
    }  
  
    /**  
     * 操作Hash类型数据  
     */  
    @Test  
    public void testHash(){  
        HashOperations hashOperations = redisTemplate.opsForHash();  
  
        //存值  
        hashOperations.put("002","name","xiaoming");  
        hashOperations.put("002","age","20");  
        hashOperations.put("002","address","bj");  
  
        //取值  
        String age = (String) hashOperations.get("002", "age");  
        System.out.println(age);  
  
        //获得hash结构中的所有字段  
        Set keys = hashOperations.keys("002");  
        for (Object key : keys) {  
            System.out.println(key);  
        }  
  
        //获得hash结构中的所有值  
        List values = hashOperations.values("002");  
        for (Object value : values) {  
            System.out.println(value);  
        }  
    }  
  
    /**  
     * 操作List类型的数据  
     */  
    @Test  
    public void testList(){  
        ListOperations listOperations = redisTemplate.opsForList();  
  
        //存值  
        listOperations.leftPush("mylist","a");  
        listOperations.leftPushAll("mylist","b","c","d");  
  
        //取值  
        List<String> mylist = listOperations.range("mylist", 0, -1);  
        for (String value : mylist) {  
            System.out.println(value);  
        }  
  
        //获得列表长度 llen        Long size = listOperations.size("mylist");  
        int lSize = size.intValue();  
        for (int i = 0; i < lSize; i++) {  
            //出队列  
            String element = (String) listOperations.rightPop("mylist");  
            System.out.println(element);  
        }  
    }  
  
    /**  
     * 操作Set类型的数据  
     */  
    @Test  
    public void testSet(){  
        SetOperations setOperations = redisTemplate.opsForSet();  
  
        //存值  
        setOperations.add("myset","a","b","c","a");  
  
        //取值  
        Set<String> myset = setOperations.members("myset");  
        for (String o : myset) {  
            System.out.println(o);  
        }  
  
        //删除成员  
        setOperations.remove("myset","a","b");  
  
        //取值  
        myset = setOperations.members("myset");  
        for (String o : myset) {  
            System.out.println(o);  
        }  
  
    }  
  
    /**  
     * 操作ZSet类型的数据  
     */  
    @Test  
    public void testZset(){  
        ZSetOperations zSetOperations = redisTemplate.opsForZSet();  
  
        //存值  
        zSetOperations.add("myZset","a",10.0);  
        zSetOperations.add("myZset","b",11.0);  
        zSetOperations.add("myZset","c",12.0);  
        zSetOperations.add("myZset","a",13.0);  
  
        //取值  
        Set<String> myZset = zSetOperations.range("myZset", 0, -1);  
        for (String s : myZset) {  
            System.out.println(s);  
        }  
  
        //修改分数  
        zSetOperations.incrementScore("myZset","b",20.0);  
  
        //取值  
        myZset = zSetOperations.range("myZset", 0, -1);  
        for (String s : myZset) {  
            System.out.println(s);  
        }  
  
        //删除成员  
        zSetOperations.remove("myZset","a","b");  
  
        //取值  
        myZset = zSetOperations.range("myZset", 0, -1);  
        for (String s : myZset) {  
            System.out.println(s);  
        }  
    }  
  
    /**  
     * 通用操作,针对不同的数据类型都可以操作  
     */  
    @Test  
    public void testCommon(){  
        //获取Redis中所有的key  
        Set<String> keys = redisTemplate.keys("*");  
        for (String key : keys) {  
            System.out.println(key);  
        }  
  
        //判断某个key是否存在  
        Boolean itcast = redisTemplate.hasKey("itcast");  
        System.out.println(itcast);  
  
        //删除指定key  
        redisTemplate.delete("myZset");  
  
        //获取指定key对应的value的数据类型  
        DataType dataType = redisTemplate.type("myset");  
        System.out.println(dataType.name());  
  
    }  
}

标签:String,myZset,reddies,System,常规,println,操作,redisTemplate,out
From: https://www.cnblogs.com/Wade1080/p/17301961.html

相关文章

  • POI包操作Excel代码
    1.创建工作簿(WORKBOOK)   HSSFWorkbookwb=newHSSFWorkbook();   FileOutputStreamfileOut=newFileOutputStream("workbook.xls");   wb.write(fileOut);   fileOut.close();2.创建工作表(SHEET)   HSSFWorkbookwb=newHSSFWorkbook();  ......
  • 86-云原生操作系统-Zookeeper集群业务容器化生产案例
    案例业务逻辑实现步骤构建zookeeper镜像#准备构建镜像的文件[root@K8s-ansiblezookeeper]#chmoda+x*.sh[root@K8s-ansiblezookeeper]#lltotal36900drwxr-xr-x4rootroot4096Apr913:47./drwxr-xr-x11rootroot4096Apr902:59../-rw-r--r--1ro......
  • Python ORM Pony PostgreSQL数据库 常用操作
    Pony是一个高级的对象关系映射器ORM框架。Pony它能够使用Python生成器表达式和lambdas向数据库编写查询。Pony分析表达式的抽象语法树,并将其转换为SQL查询。支持SQLite,MySQL,PostgreSQL和Oracle等数据库,本文主要介绍PythonORMPony中PostgreSQL数据库常用操作,及数据增加、删除......
  • flask之信号,flask-script,sqlalchemy介绍和快速使用,创建操作数据表
    目录flask之信号,flask-script,sqlalchemy介绍和快速使用,创建操作数据表昨日回顾今日内容详细1信号1.2django信号2flask-script3sqlalchemy快速使用4使用sqlalchemy创建操作数据库补充flask之信号,flask-script,sqlalchemy介绍和快速使用,创建操作数据表昨日回顾#1local对象......
  • SQL基础操作_3_数据字典(涵盖SQL Server、Oracle、Mysql常见系统数据字典)
    目录数据库元数据查询7.5.1列出模式中所有的表7.5.2列出所有的数据库7.5.3列出给定表的基本信息7.5.4列出给定表的索引信息7.5.5列出给定表的主键、外键约束7.5.6列出给定表的外键引用7.5.7列出给定表的检查约束7.5.8列出给定表的默认约束7.5.9列出给定表的所有约束7.5.10......
  • 2612. 最少翻转操作数
    题目链接:2612.最少翻转操作数方法:BFS+AVLTree解题思路先不考虑被\(ban\)的位置:假设当前\(1\)的位置在下标\(i\)上,那么将其按照包含\(i\)且长度为\(k\)的数组反转一次所能得到的对应下标的可能结果是一个从\(i-k+1\)起始到\(i+k-1\)结束的公差为\(2......
  • C# WinForm操作配置文件AppSettings获取、增加、删除、修改
    在C#WinForm开发中,如果想要修改AppSettings中的值,发现用下面这个代码并没有成功。ConfigurationManager.AppSettings.Set(key,value);//修改值,但是没有成功下面提供可以用的获取、增加、删除、修改appSettings的方法。publicclassWinConfigHelper{///<summary>......
  • 操作日志的实现
    1,用到spring中的切面编程,用网址http://whois.pconline.com.cn/ipJson.jsp查询到访问者的ip信息2,了解到了异步类:CompletableFuture是Java8中新增的类,用于实现异步编程。它提供了一些方法,可以方便地对异步操作进行组合、转换和处理异常。下面是一些常用的方法:runAsync(Runn......
  • Linux文件与文件夹操作
    创建文件夹/文件mkdir通过mkdir命令可以创建新的目录(文件夹)。语法:mkdir[-p][Linux路径]参数必填,表示Linux路径,即要创建的文件夹的路径,相对或绝对路径即可。-p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录。如果想要一次性创建多个层级的目录,会报错,因......
  • 85-云原生操作系统-分层镜像构建并部署业务到Kubernetes集群生产案例
    在生产环境中业务迁移至Kubernetes环境都需要提前规划机房kubernetes集群部署基本步骤:机房环境搭建基础服务搭建系统迁移数据库迁移测试及联调使用服务及版本Pod地址规划端口使用统计业务迁移Nginx+Tomcat+NFS实现动静分离实现步骤:Centos基础环境镜像制作#准备安装包[root@K8s-a......