【Redis】初识Redis
创始人
2024-03-20 11:58:16
0

  • 1.初识Redis
    • 1.1安装
    • 1.2数据结构
      • 1.2.1 通用命令
      • 1.2.2 String类型
        • key的结构
      • 1.2.3 Hash类型
  • 2.Jedis
    • 2.1 添加依赖及配置
    • 2.2 配置StringRedisTemplte

1.初识Redis

Redis是一个基于内存的键值型NoSQL数据库。其具有性能优越、持久化的特点,能够支持每秒十几万次的读写操作。

1.1安装

安装成功:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D32hRbKi-1670254635383)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20221129191146532.png)]

1.2数据结构

Redis是一个key-value的数据库。

key:“String”,

value:通常是一个字符串

查阅网址:redis命令手册

1.2.1 通用命令

KEYS:查看符合模板的所有key

DEL:删除一个指定的key

EXISTS:判断key是否存在

EXPIRE:给一个key设置一个有效期,有效期到时会被自动删除

TTL:查看一个key的剩余有效期

1.2.2 String类型

其在底层是以字节数组形式存储的。

key的结构

key可以设置为多个单词组成的层级结构,用:隔开

例如:project:user:1

1.2.3 Hash类型

结构:Hash结构可以将对象中的每个字段独立存储

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-buC8C6aL-1670254635384)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20221128225955973.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cHqkEAD8-1670254635384)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20221128225754509.png)]

  • List类型
  • Set类型
  • SortedSet类型

2.Jedis

在Java项目中使用Redis步骤如下。

2.1 添加依赖及配置

org.springframework.bootspring-boot-starter-data-redis

spring:redis:host: 192.168.1.158port: 6379password: 123456lettuce:pool:max-active: 10max-idle: 10min-idle: 1time-between-eviction-runs: 10s

2.2 配置StringRedisTemplte

在spring中,将对象存入Redis中需要将其序列化,其序列化有两种方式:

两种序列化实践方案:

  1. 自定义RedisTemplate,修改RedisTemplate的序列化器为GenericJacksonRedisSerializer

  2. 使用StringRedisTemplate,写入Redis时,手动把读取到的JSON反序列化为对象。(节省内存)

    @Autowired
    private StringRedisTemplate stringRedisTemplate;
    // JSON工具
    private static final ObjectMapper mapper = new ObjectMapper();
    @Test
    void testStringTemplate() throws JsonProcessingException {//准备对象User user = new User("虎哥", 18);//手动序列化String json = mapper.writeValueAsString(user);//写入一条数据到redisstringRedisTemplate.opsForValue().set("user:200", json); /读取数据String val = stringRedisTemplate.opsForValue().get("user:200");//反序列化User user1 = mapper.readValue(val, User.class);System.out.println("user1 = " + user1);}
    

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...