1.redis基础介绍

一.基本概念

Redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库(跨平台的非关系性数据库)。

二.Redis的优势在哪里?为什么要用Redis缓存去储存数据?

(1).速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1).因其性能主要依赖于服务器的内存配置,cpu的核数对其影响效率偏低,故此设置为单线程的结构设计,也因此更加快了Redis的数据存储速度。理论上来说, Redis能读的速度是110000次/s,写的速度是81000次/s 。

(2).支持丰富数据类型,支持string,list,set,sorted set,hash。还有一些复杂的类型类似于bitmap,后面文章会慢慢介绍。

(3).支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行,同时还有Lua脚本。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。

(4).丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除.还可以实现Redis的分布式锁。还支持publish/subscribe.

三.Redis的应用场景

写者大致的分为以下几种场景:

-缓存:(1)对于一些要返回给前端数据的缓存,当有大量数据库sql操作时候,为了避免每次接口请求都要去查询数据库,可以把一些数据缓存到redis中,这样是直接从内存中获取数据,速度回增快很多。

(2) web端用户,用于登陆缓存session数据,登陆的一些信息存到session中,缓存到redis中

-队列:redis中提供了list接口,这个list提供了lpush和rpop,这两个方法具有原子性,可以插入队列元素和弹出队列元素。

-数据存储:redis是非关系型数据库,可以把redis直接用于数据存储,提供了增删改查等操作,因为redis有良好的硬盘持久化机制,redis数据就可以定期久化到硬盘中,提供RDB和AOF两种持久化方式存储数据,保证了redis数据的完整性和安全性。

-redis锁实现防刷机制:redis锁可以处理并发问题,redis数据类型中有一个set类型,set类型在存储数据的时候是无序的,而且每个值是不一样的,不能重复,这样就可以快速的查找元素中某个值是否存在,精确的进行增加删除操作。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容