Redis(Remote Dictionary Server)是一个基于内存的 Key-Value 结构化存储的存储系统。在实际生产环境中可以将其作为数据库、缓存和消息中间件来使用。
由于 Redis 是基于内存的、采用 Key-Value 结构化存储的 NoSQL 数据库,加上其底层采用单线程和多路 I/O 复用模型,所以 Redis 的查询速度很快。根据 Redis 官方提供的数据,它可以实现每秒查询的次数达到10万次,即 QPS 为100000+,这在某种程度上足以满足大部分的高并发请求。
三个特点:
1、热点数据的存储与展示
2、最近访问的数据
3、并发访问
4、排名
除此之外,Redis还有诸多应用场景,比如消息队列、分布式锁等。
常用的几个命令:
- 1)查看Redis缓存中存储的所有key
- keys*
-
- 2)在缓存中创建一个key,设置其名字为redis:order:no:10011(按照自己的习惯取名即可,但是建议最好具有某种含义),设置其值为10011,命令为:
- set redis:order:no:1001110011。
-
- 3)查看缓存中指定 key 的取值,如获取刚刚创建的key:redis:order:no:10011的取值,命令为:
- get redis:order:no:10011
-
- 4) 删除缓存中指定的 key, 如删除 key: redis:order:no:10011, 命令为 :
- del redis:order:no:10011。
- 执行命令之后,如果返回值为1,则代表删除成功。
-
- exists key 判断某个key是否存在
- type key 查看你的key是什么类型
-
- expire key 10 10秒钟:为给定的key设置过期时间
- ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期
-
-
-
- select 命令切换数据库
- dbsize 查看当前数据库的key的数量
- flushdb 清空当前库
- flushall 通杀全部库
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.serializer.JdkSerializationRedis Serializer; import org.springframework.data.redis.serializer.StringRedisSerializer; //通用化配置 @Configuration public class CommonConfig { //Redis连接工厂 @Autowired private RedisConnectionFactory redisConnectionFactory; //缓存操作组件RedisTemplate的自定义配置 @Bean public RedisTemplateredisTemplate(){ //定义RedisTemplate实例 RedisTemplate redisTemplate=new RedisTemplate (); //设置Redis的连接工厂 redisTemplate.setConnectionFactory(redisConnectionFactory); //TODO:指定大Key序列化策略为String序列化,Value为JDK自带的序列化策略 redisTemplate.setKeySerializer(new StringRedisSerializer()); redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer()); //TODO:指定hashKey序列化策略为String序列化-针对hash散列存储 redisTemplate.setHashKeySerializer(new StringRedisSerializer()); return redisTemplate; } //缓存操作组件StringRedisTemplate @Bean public StringRedisTemplate stringRedisTemplate(){ //采用默认配置即可-后续有自定义配置时则在此处添加即可 StringRedisTemplate stringRedisTemplate=new StringRedisTemplate(); stringRedisTemplate.setConnectionFactory(redisConnectionFactory); return stringRedisTemplate; } }