学习场景redis可以在我们的第一个项目中使用,但我们不知道redis的使用场景,前辈也审查了我们的项目,发现尽管使用了一些非常广泛的技术,但没有将这些技术正确地用于应用场景
因此,这里的文章主要介绍redis的使用场景。
redis介绍了redis是一个以高性能、基于内存和单线程实现的数据库系统。 由于其高性能的特性,redis始终被用作缓存。
在此,首先,redis的特征读写性能的优化持久化数据类型丰富的单线程数据可设定有效期限的发布订阅分布式使用方案分析1 .适合作为缓存的高性能redis缓存,主要是redis读写性能此外,redis内部与mysql一样支持事物,因此在使用时可以正常读写数据
我个人常用的redis缓存用法:
在读取数据之前,首先查询redis缓存,如果查询无法到达缓存,则查询数据库,同时将数据库数据添加到缓存信息中。
这种方式查询很简单,但会注意避免缓存崩溃,同时数据的实时性相对较差。
2 .具有丰富数据格式的Redis支持五种大数据类型:字符串、列表、集、散列和ZSet。
其中
字符串,最简单的K-V数据格式;
列表的简单列表、顺序列表;
Set支持开头或结尾的charity数据的无序集合;
保存适合混列信息变动的数据;
ZSet检索速度快,使用交叉、并、补集处理。
下面分别更详细地介绍各数据类型的使用方法。 String (适用于最简单的K-V存储。 您可以使用此类型保存SMS验证码、邮箱验证码、一些配置信息等。 hash:key通常是ID或唯一的徽标,value对应于具体的数据信息,如商品详细信息、个人信息和热门推荐文章。list:list是规则的,因此存储规则且数据相对固定的数据,如省市列表也可以根据写入时间(如消息队列)进行排序。 Set )可以简单地理解为ID-List的模式。 可以使用交友、并、补集来处理用户数据,如找到两个朋友。 对于zset:set集合的扩展版,添加了score参数。 将根据score的值自动排序。 适用于按插入时间排序的数据,如top10。 3 .单线程分布式锁定之前的文章中介绍了,redis是单线程的。 但是,并不比多线程效率低,复用方案大大提高了处理效率。
基于redis的单线程特性,最常用的是分布式锁。 支持高并发性的系统都是多服务器部署。 在现阶段我的技术水平上,还没有学习锁定的高级应用,所以我在这里写了一笔,后期再追加。
4 .自动有效期Redis还可以为缓存设置有效期。 这个特点是我们应用Redis最多。 过期数据的清理不需要用户手动清理,Redis会自动过期删除。 当然,这很有效率,性能也不错。 最常见的有邮件验证码、邮箱验证码、有时间的活动在线、充值活动等,不需要数据库查询时间进行比较。
总结以上内容,您可能只是部分redis的使用场景,但我们将继续共享后续的redis使用技巧。