一、连接 Redis 单机

1.1、创建项目

        创建SpringBoot项目,添加Spring Data Redis依赖(也可在项目pom文件中添加)

1.2、配置redis服务地址

1.3、SSH隧道建立

        打开XSHELL,点击会话的属性

二、Redis的上手操作

2.1、StringRedisTemplate

        StringRedisTemplate 是 Spring Data Redis 提供的模板类,专门用于处理 Redis 中的字符串类型键值存储操作,其将操作Redis的方法封装分为几个类别来使用,下面引入StringRedisTemplate 实例

@RestController
public class Rediscontroller {
    @Autowired
    private StringRedisTemplate stringRedisTemplate;
}

        可看到,该类提供了操作Redis所有类型的方法,我们可以根据所需类型,进行选择使用

2.2、String类型

    @RequestMapping("/string/test")
    public String stringTest() {
        stringRedisTemplate.opsForValue().set("string1", "test");
        String value = stringRedisTemplate.opsForValue().get("string1");
        System.out.println("从Redis中获取到的value为:"+value);
        return "value:"+value;
    }

        通过Redis可视化插件Redis Helper(需要可下载),可以看到,Redis中存储了该键值对

Redis Helper教程:

搜索下载

        点击 redis helper 后,第一次使用需要新增,点击+即可,出现下面图片

        填写以上信息后,即可出现Redis可视化界面,如下:

        该插件可手动删除键值对等其他操作,读者可以寻找对应博客学习使用

2.3、List类型

        创建4个列表,list1、list2、list等,分别插入元素,list中插入多个元素,range()即获取该列表的所有元素,0表示起始,-1表示结尾

    @RequestMapping("/list/test")
    public String listTest() {
       stringRedisTemplate.opsForList().leftPush("list1", "1");
       stringRedisTemplate.opsForList().leftPush("list2", "2");
       stringRedisTemplate.opsForList().leftPush("list3", "3");
       stringRedisTemplate.opsForList().leftPushAll("list","111","222","333");
       List<String> list = stringRedisTemplate.opsForList().range("list", 0, -1);
       System.out.println(list);
       return "list:"+list;
    }

2.4、Hash类型

    @RequestMapping("/hash/test")
    public String hashTest() {
       stringRedisTemplate.opsForHash().put("hash_key", "key1", "value1");
       String value=(String)stringRedisTemplate.opsForHash().get("hash_key", "key1");
       System.out.println(value);
       stringRedisTemplate.opsForHash().delete("hash_key", "key1");
       String value_isNull=(String)stringRedisTemplate.opsForHash().get("hash_key", "key1");
       System.out.println(value_isNull);
       return "okk";
    }

        Redis中hash类型结构如下:我们新增了一个hash_keyvalue为(fieldkey1 : (value) value1,key(hash_key)中的field(key1)进行取值,返回的是value1,接着删除这个key1,然后再进行获取,value就为null

2.5、Set类型

    @RequestMapping("/set/test")
    public String setTest() {
        stringRedisTemplate.opsForSet().add("set", "value1", "value2", "value3");
        Boolean b1=stringRedisTemplate.opsForSet().isMember("set", "value1");
        Boolean b2=stringRedisTemplate.opsForSet().isMember("set", "value4");
        System.out.println("value1是否存在:"+b1+"    ,value4是否存在:"+b2);
        stringRedisTemplate.opsForSet().remove("set", "value1");
        Long  size=stringRedisTemplate.opsForSet().size("set");
        System.out.println("移除后value1还剩几个元素:"+size);
        return "okk";
    }

        向集合set里面添加3个value,isMember()是判断该value是否在集合中,remove()作用:将value从set集合中移除,size()作用大家都清楚判断集合中还有几个元素

2.6、ZSet

        ZSet 是有序集合,每个元素都有一个分数用于排序,且元素唯一不可重复

    @RequestMapping("/zset/test")
    public String zsetTest() {
        stringRedisTemplate.opsForZSet().add("zset","喜羊羊",99);
        stringRedisTemplate.opsForZSet().add("zset","懒洋洋",66);
        stringRedisTemplate.opsForZSet().add("zset","小灰灰",78);
        Set<String> value= stringRedisTemplate.opsForZSet().range("zset", 0, -1);
        System.out.println(value);
        long size=stringRedisTemplate.opsForZSet().count("zset",70,100);
        System.out.println(size);
        return "okk";
    }

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐