Redis入门

Redis入门

忘记中二的少年 Lv3

Redis入门

Redis简介

Redis是一个基于内存的key-value结构的数据库

  • 基于内存存储,读写性能高
  • 适合存储热点数据(热点商品、咨询、新闻)【访问频繁】
  • 企业应用广泛

5种常用的数据类型介绍

Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型

  • 字符串 string
  • 哈希 hash
  • 列表 list
  • 集合 set
  • 有序集合 sorted set / zset

各种数据类型的特点

processon

  • 字符串:普通字符串,redis中最简单的数据类型
  • 哈希:散列表,类似Java中的HashMap结构
  • 列表:按照插入的顺序排序,可以有重复的元素,类似Java中的LinkedList
  • 集合:无序集合,没有重复元素,类似Java中的HashSet
  • 有序集合:集合中每个元素关联一个分数,根据分数升序排序,没有重复元素

Redis常用命令

字符串操作命令

  • SET key value:设置指定key的值
  • GET key:获取指定key的值
  • SETEX key seconds value:设置指定key的值,并将key的过期时间设置为seconds秒
  • SETNX key value:只有key不存在时设置key的值

哈希操作命令

Redis hash 是一个string类型的 field 和 value 的映射表,hash特别适合用于存储对象,常用命令:

  • HSET key field value :将哈希表key中的字段field的值设置为value
  • HGET key field:获取存储在哈希表中指定字段的值
  • HDEL key field:删除存储在哈希表中的指定字段
  • HKEYS key:获取哈希表中所有字段
  • HVALS key:获取哈希表中所有值

列表操作命令

Redis 列表是简单的字符串列表,按照插入顺序排序,常用命令:

  • LPUSH key value1 [value2]:将一个或多个值插入到列表的头部
  • LRANGE key start stop:获取列表指定范围内的元素
  • RPOP key:移除并获取列表最后一个元素
  • LLEN key:获取列表长度

集合操作命令

Redis set 是string类型的无序集合。集合成员是唯一的,集合中不能出现重复的数据,常用命令:

  • SADD key member1 [member2]:向集合添加一个或多个成员
  • SMEMBERS key:返回集合中的所有成员
  • SCARD key:获取集合的成员数
  • SINTER key1 [key2]:返回给定所有集合的交集
  • SUNION key1 [key2]:返回所有给定集合的并集
  • SREM key member1 [member2]:删除集合中一个或多个成员

有序集合操作命令

Redis有序集合是string类型元素的集合,且不允许有重复成员。每个元素都会关联一个double类型的分数。常用命令:

  • ZADD key score1 member1 [score2 member2]:向有序集合添加一个或多个成员
  • ZRANGE key start stop [WITHSCORES]:通过索引区间返回有序集合中指定区间内的成员
  • ZINCRBY key increment member:有序集合中对指定成员的分数加上增量 increment
  • ZREM key member [member ...]:移除有序集合中的一个或多个成员

通用命令集合

Redis的通用命令是不分数据类型的,都可以使用的命令:

  • KEYS pattern:查找所有符合给定模式(pattern)的key
  • EXIST key:检查给定key是否存在
  • TYPE key:返回key所存储的值的类型
  • DEL key:该命令用于在key存在时,删除key

SpringBoot整合Redis

  1. 导入Spring Data Redis 的maven坐标

    1
    2
    3
    4
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
  2. 配置Redis数据源

    1
    2
    3
    4
    5
    6
    spring:
    redis:
    host: localhost
    port: 6379
    password: 123456
    database: 0
  3. 编写配置类,创建RedisTemplate对象

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    @Configuration
    @Slf4j
    public class RedisConfiguration {

    @Bean
    public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){
    log.info("开始创建redis模板对象...");
    RedisTemplate redisTemplate = new RedisTemplate();
    //设置 Redis 的连接工厂对象
    redisTemplate.setConnectionFactory(redisConnectionFactory);
    //设置 Redis 的key序列化器
    redisTemplate.setKeySerializer(new StringRedisSerializer());
    return redisTemplate;
    }
    }
  4. 通过RedisTemplate对象操作Redis,通过上述的配置将RedisTemplate对象自动注入,后续操作接口即可

  • 标题: Redis入门
  • 作者: 忘记中二的少年
  • 创建于 : 2023-10-07 13:00:00
  • 更新于 : 2023-10-07 22:44:38
  • 链接: https://github.com/HandsomeXianc/HandsomeXianc.github.io/2023/10/07/Redis基础/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。