旗下导航:搜·么
当前位置:网站首页 > MySQL教程 > 正文

Redis是什么?有哪些运用场景?【MySQL教程】,Redis

作者:搜教程发布时间:2019-12-01分类:MySQL教程浏览:74评论:0


导读:本篇文章给人人带来的内容是关于Redis是什么?有哪些运用场景?有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。一丶Redis引见Redis是一个开源的...
本篇文章给人人带来的内容是关于Redis是什么?有哪些运用场景?有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。

一丶Redis引见

Redis是一个开源的 key—value型 单线程 数据库,支撑string、list、set、zset和hash范例数据。

默许端口:6379

默许数据库数目:16

二、长处:

1.nosql数据库没有关联关联,数据结构简朴,拓展表比较轻易

2.nosql读取速度快,对较大数据处理快

三、实用场景:

1.数据高并发的读写

2.海量数据的读写

对扩大性要求高的数据

四、不适场景:

1.须要事件支撑(非关联型数据库)

2.基于sql结构化查询贮存,关联庞杂

五、运用场景

下面这些作者是Redis作者@antirez,他形貌了Redis比较合适的一些运用场景,NoSQLFan简朴枚举在这里,供人人一览:

1.取最新N个数据的操纵

比方典范的取你网站的最新文章,经由过程下面体式格局,我们能够将最新的5000条批评的ID放在Redis的List鸠合中,并将超越鸠合部份从数据库猎取

  • 运用LPUSH latest.comments<ID>敕令,向list鸠合中插进去数据

  • 插进去完成后再用LTRIM latest.comments 0 5000敕令使其永久只保留近来5000个ID

  • 然后我们在客户端猎取某一页批评时能够用下面的逻辑(伪代码)

FUNCTION get_latest_comments(start,num_items):
    id_list = redis.lrange("latest.comments",start,start+num_items-1)
    IF id_list.length < num_items
        id_list = SQL_DB("SELECT ... ORDER BY time LIMIT ...")
    END
    RETURN id_list
END

假如你另有差别的挑选维度,比方某个分类的最新N条,那末你能够再建一个按此分类的List,只存ID的话,Redis是异常高效的。

2.排行榜运用,取TOP N操纵

这个需求与上面需求的差别之处在于,前面操纵以时候为权重,这个是以某个前提为权重,比方按顶的次数排序,这时候就须要我们的sorted set出马了,将你要排序的值设置成sorted set的score,将细致的数据设置成响应的value,每次只须要实行一条ZADD敕令即可。

3.须要精准设定逾期时候的运用

比方你能够把上面说到的sorted set的score值设置成逾期时候的时候戳,那末就能够简朴地经由过程逾期时候排序,定时消灭逾期数据了,不仅是消灭Redis中的逾期数据,你完全能够把Redis里这个逾期时候当做是对数据库中数据的索引,用Redis来找出哪些数据须要逾期删除,然后再精准地从数据库中删除响应的纪录。

4.计数器运用

Redis的敕令都是原子性的,你能够轻松地应用INCR,DECR敕令来构建计数器体系。

5.Uniq操纵,猎取某段时候一切数据排重值

这个运用Redis的set数据结构最合适了,只须要不断地将数据往set中扔就好了,set意为鸠合,所以会自动排重。

6.及时体系,反垃圾体系

经由过程上面说到的set功用,你能够晓得一个终端用户是不是举行了某个操纵,能够找到其操纵的鸠合并举行剖析统计对照等。没有做不到,只要想不到。

7.Pub/Sub构建及时音讯体系

Redis的Pub/Sub体系能够构建及时的音讯体系,比方很多用Pub/Sub构建的及时谈天体系的例子。

8.构建行列体系

运用list能够构建行列体系,运用sorted set以至能够构建有优先级的行列体系。

以上就是Redis是什么?有哪些运用场景?的细致内容,更多请关注ki4网别的相干文章!

标签:Redis


欢迎 发表评论: