Redis入门
Redis入门
Redis简介
Redis是一个基于内存的key-value结构的数据库
- 基于内存存储,读写性能高
- 适合存储热点数据(热点商品、咨询、新闻)【访问频繁】
- 企业应用广泛
5种常用的数据类型介绍
Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型
- 字符串 string
- 哈希 hash
- 列表 list
- 集合 set
- 有序集合 sorted set / zset
各种数据类型的特点
- 字符串:普通字符串,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的值设置为valueHGET 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
:有序集合中对指定成员的分数加上增量 incrementZREM key member [member ...]
:移除有序集合中的一个或多个成员
通用命令集合
Redis的通用命令是不分数据类型的,都可以使用的命令:
KEYS pattern
:查找所有符合给定模式(pattern)的keyEXIST key
:检查给定key是否存在TYPE key
:返回key所存储的值的类型DEL key
:该命令用于在key存在时,删除key
SpringBoot整合Redis
导入Spring Data Redis 的maven坐标
1
2
3
4<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>配置Redis数据源
1
2
3
4
5
6spring:
redis:
host: localhost
port: 6379
password: 123456
database: 0编写配置类,创建RedisTemplate对象
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class RedisConfiguration {
public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){
log.info("开始创建redis模板对象...");
RedisTemplate redisTemplate = new RedisTemplate();
//设置 Redis 的连接工厂对象
redisTemplate.setConnectionFactory(redisConnectionFactory);
//设置 Redis 的key序列化器
redisTemplate.setKeySerializer(new StringRedisSerializer());
return redisTemplate;
}
}通过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 进行许可。