首页 > 数据库 >redis在idea中的应用

redis在idea中的应用

时间:2023-11-20 16:35:18浏览次数:42  
标签:keys redis idea System set1 应用 println redisTemplate out

2023-11-20

导入的依赖

 <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

 

package com.sky.test;


import org.junit.jupiter.api.Test;
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 java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;

/**
 * @author yangLiHua
 * @version 1.0
 * @DATE 2023-11-20 15:09:48
 */
@SpringBootTest
public class SpringDataRedisTest {

    @Autowired
    private RedisTemplate redisTemplate;

    @Test
    public void test(){
        System.out.println(redisTemplate);
        ValueOperations valueObjects = redisTemplate.opsForValue();
        HashOperations hashOperations = redisTemplate.opsForHash();
        ListOperations listOperations = redisTemplate.opsForList();
        SetOperations setOperations = redisTemplate.opsForSet();
        ZSetOperations zSetOperations = redisTemplate.opsForZSet();
    }

    /**
     * 操作字符串的数据
     */
    @Test
    public void testString(){
        // set get setex setnx
        redisTemplate.opsForValue().set("city","深圳");
        String city = (String)redisTemplate.opsForValue().get("city");
        System.out.println("city = " + city);
        redisTemplate.opsForValue().set("code","856485",3, TimeUnit.MINUTES);
        redisTemplate.opsForValue().setIfAbsent("lock","1");
        redisTemplate.opsForValue().setIfAbsent("lock","2");
    }

    /**
     * 操作哈希类型的数据
     */
    @Test
    public void testHash(){
        // hset hget hdel hkeys hvals
        HashOperations hashOperations = redisTemplate.opsForHash();
        hashOperations.put("100","name","tom");
        hashOperations.put("100","age","22");

        String name = (String)hashOperations.get("100", "name");
        System.out.println("name = " + name);
        Set keys = hashOperations.keys("100");
        System.out.println("keys = " + keys);
        List values = hashOperations.values("100");
        System.out.println("values = " + values);
        hashOperations.delete("100","age");
    }

    /**
     * 操作列表类型的数据
     */
    @Test
    public void testList(){
        //lpush lrange rpop llen
        ListOperations listOperations = redisTemplate.opsForList();
        listOperations.leftPushAll("mylist","a","b","c");
        listOperations.leftPush("mylist","d");

        List mylist = listOperations.range("mylist",0,-1);
        System.out.println("mylist = " + mylist);

        listOperations.rightPop("mylist");
        Long mylist1 = listOperations.size("mylist");
        System.out.println("mylist1 = " + mylist1);
    }

    /**
     * 操作集合类型的数据
     */
    @Test
    public void testSet(){
        //sadd smembers scard sinter sunion srem
        SetOperations setOperations = redisTemplate.opsForSet();
        setOperations.add("set1","a","b","c","d");
        setOperations.add("set2","a","b","c","d");

        Set set1 = setOperations.members("set1");
        System.out.println("set1 = " + set1);

        Long size = setOperations.size("set1");
        System.out.println("size = " + size);

        Set intersect = setOperations.intersect("set1", "set2");
        System.out.println("intersect = " + intersect);

        Set union = setOperations.union("set1", "set2");
        System.out.println("union = " + union);

        setOperations.remove("set1","a","b");


    }

    /**
     * 操作有序集合类型的数据
     */
    @Test
    public void testZSet(){
        //zadd zrange zincrby zrem
        ZSetOperations zSetOperations = redisTemplate.opsForZSet();
        zSetOperations.add("zset1","a",10);
        zSetOperations.add("zset1","b",12);
        zSetOperations.add("zset1","c",9);
        Set zset1 = zSetOperations.range("zset1", 0, -1);
        System.out.println("zset1 = " + zset1);

        zSetOperations.incrementScore("zset","c",10);

        zSetOperations.remove("zset1","a","b");
    }

    /**
     * 通用命令操作
     */
    @Test
    public void testCommon(){
        //keys exists type del
        Set keys = redisTemplate.keys("*");
        System.out.println("keys = " + keys);

        Boolean name = redisTemplate.hasKey("name");
        Boolean set1 = redisTemplate.hasKey("set1");

        for (Object key : keys) {
            DataType type = redisTemplate.type(key);
            System.out.println("type = " + type);
        }

        redisTemplate.delete("mylist");


    }

}

 

标签:keys,redis,idea,System,set1,应用,println,redisTemplate,out
From: https://www.cnblogs.com/isDaHua/p/17844269.html

相关文章

  • docker安装及安装redis
    一、安装docker1.准备安装环境:yuminstall-yyum-utils2.设置镜像仓库为阿里云:yum-config-manager\--add-repo\http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3.更新系统yum软件索引:yumcleanallyummakecache4.安装docker:yuminstalldocker-c......
  • 数据可视化报表在银行的应用
    数据可视化报表是指通过图形化的方式展示数据,帮助人们更好地理解和分析数据。在银行业中,数据可视化报表的应用非常广泛,从业务分析到风险管理,都离不开对大量数据的整理、分析和可视化呈现。以下是对数据可视化报表在银行的应用的详细介绍。一、业务分析与决策支持数据可视化报表......
  • 00Redis介绍
    1.1Redis简介Redis,RemoteDictionaryServer,远程字典服务,由意大利人SalvatoreSanfilippo(又名Antirez)开发,是一个使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、NoSQL开源内存数据库,其提供多种语言的API。Redis之所以称之为字典服务,是因为Redis......
  • redis 在windows使用
    1下载软件(包含服务端和客户端)-从官网找安装包下载后文件 redis-server.exe 就是服务端.文件 redis-cli.exe是客户端.   2在cmd中启动服务端 在当前窗口中运行cmd,输入redis-serve为了方便,可以把redis目录加入环境变量,这样任意打开cmd, 输......
  • Modbus通用串口转PROFINET IO网关TS-180 在锅炉厂智能温湿度监控系统中的应用
    背景:现代科学技术和工业的迅速发展,不断促进着自动化控制技术及设备通信技术的创新和发展。当前,PLC、DCS、智能仪表等已广泛应用到现场生产控制系统中,本应用案例是在锅炉行业的温湿度监控系统中,西门子S7-300PLC及CP343-1模块与智能温度仪表的通讯,上海泗博自动化技术有限公司......
  • 加密锁(加密狗)保护Python应用程序防止被反编译
    开发套件使用的是原HASP/SafeNet/金雅拓/泰雷兹加密狗最新开发工具加密锁(加密狗)对python程序代码加密保护,保护自己软件版权被F法使用。(注:本文为Python程序保护的纯技术贴,欢迎留言探讨)开发工具下载:​​http://www.chinadlp.com/?list-DriveDownload.html​​概述使用圣天诺加密......
  • Centos7安装Redis(超详细)
    ​Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。​下载地址:https://github.com/microsoftarchive/redis/re......
  • IDea快捷键
    Idea常用快捷键大全,拿小本本记下来,忘记了可以方便查找。编写代码Ctrl+Shift+Enter,语句完成。“!”,否定完成,输入表达式时按“!”键。Ctrl+E,最近的文件。Ctrl+Shift+E,最近更改的文件。Shift+Click,可以关闭文件。Ctrl+[OR],可以跑到大括号的开头与结尾。Ctrl+F12,可以显示当......
  • 高效开发与设计:提效Spring应用的运行效率和生产力
    引言现状和背景Spring框架是广泛使用的Java开发框架之一,它提供了强大的功能和灵活性,但在大型应用中,由于Spring框架的复杂性和依赖关系,应用的启动时间和性能可能会受到影响。这可能导致开发过程中的迟缓和开发效率低下。优化Spring应用程序的启动速度和性能是一个重要的任务,通过......
  • UNIAPP 钉钉微应用调试 PC端移动端调试钉钉微应用H5
    https://open.dingtalk.com/document/resourcedownload/micro-application-four-terminal-debugging-tool-web-edition 流程可以参考钉钉文档https://open-dev.dingtalk.com 钉钉开放平台登录      在项目的template.h5.html中的<head>里塞入<scriptsrc="https:......