概述
Redis是一种开源的内存数据存储结构,是一种key-value
形式存储系统。采用纯内存的方式,一般使用都是简单的存取操作,线程占用时间比较短,使用时间主要集中在IO上,所以读取速度快。
安装
windows安装方式:访问https://github.com/tporadowski/redis/releases
,选择可下载版本的zip文件,解压后即可使用。
Docker安装方式
1.拉取Redis镜像
2.容器运行
1
| docker run --name redis -d -p 6379:6379 redis
|
3.容器运行并挂载同时启动Redis服务开启AOF持久化模式
1
| docker run --name redis -d -p 6379:6379 -v /your/redis/data:/data redis redis-server --appendonly yes
|
使用
管理工具
使用指令方式来操作Redis并不方便,这里推荐一款免费开源的客户端工具来实现对Redis管理和控制。访问https://github.com/qishibo/AnotherRedisDesktopManager/releases
,选择可下载的.exe后缀文件进行下载安装即可。
Another Redis Desktop Manager
操作指令
在实际使用Redis时,都是通过工具类具体处理Redis的存取,这边只简单介绍一些常用的操作字符串的指令以便在无客户端连接情况下操作:
1.设置键的值
2.获取键的值
3.设置键的值并设置过期时间(秒)
4.设置键的值并设置过期时间(毫秒)
1
| psetex key millisenconds value
|
5.设置键不存在时的值
6.获取键的值并将键设置为新值
7.将值附加到键末尾
8.设置键的过期时间(秒)
9.设置键的过期时间(毫秒)
1
| pexpire key milliseconds
|
10.获取键的过期时间(秒)
11.获取键的剩余时间(毫秒)
12.移除键的过期时间,使其成为持久化
场景使用
SpringBoot中提供了用于简化Redis数据操作的其实依赖,它集成了Spring Data Redis,使得在SpringBoot应用中操作Redis更加方便。
1.添加Redis依赖
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 7 8 9
| spring: redis: host: localhost port: 6379 password: password timeout: 2000 database: 0 ssl: enabled: true
|
3.配置RedisTemplate
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| @Configuration public class RedisConfig { @Bean public RedisTemplate<Object, Object> redisTemplate() { RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>(); redisTemplate.setConnectionFactory(redisConnectionFactory); Jackson2JsonRedisSerializer<Object> jsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class); redisTemplate.setKeySerializer(new StringRedisSerializer()); redisTemplate.setValueSerializer(jsonRedisSerializer); redisTemplate.setHashKeySerializer(new StringRedisSerializer()); redisTemplate.setHashValueSerializer(jsonRedisSerializer); redisTemplate.afterPropertiesSet(); return redisTemplate; } }
|
4.配置Redis工具类以便更好使用Redis
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| public class RedisUtil { private static RedisTemplate<Object,Object> redisTemplate = (RedisTemplate<Object, Object>) SpringBeanUtils.getBean("redisTemplate");
public static Object get(String key) { return redisTemplate.opsForValue().get(key); }
public static void set(String key, Object value) { redisTemplate.opsForValue().set(key, value); }
public static void set(String key, Object value, Long seconds, TimeUnit timeUnit) { redisTemplate.opsForValue().set(key, value, seconds, timeUnit); }
public static void delete(String key) { redisTemplate.delete(key); }
public static void expire(String key, Long seconds, TimeUnit timeUnit) { redisTemplate.expire(key, seconds, timeUnit); }
public static void expire(String key, Duration duration) { redisTemplate.expire(key, duration); } }
|