[转载]Redis是如何处理大量的网络IO的?

Redis 采用事件驱动机制来处理大量的网络IO。它并没有使用 libevent 或者 libev 这样的成熟开源方案,而是自己实现一个非常简洁的事件驱动库 ae_event。Redis中的事件驱动库只关注网络IO,以及定时器。该事件库处理下面两类事件:文件事件(file event):用于处理

redis笔记(二)

1、线程IO模型1.1、非阻塞IO当我们调用套接字的读写方法,默认它们是阻塞的,比如read方法要传递进去一个参数n,表示最多读取n个字节后再返回,如果一个字节都没有,线程就会卡在那里,直到新的数据到来或者连接关闭,read方法才可以返回,线程才能继续处理。write方法一般不会阻塞,除非内核为套接

redis笔记(一)

1、redis的5种基础数据结构Redis有5种基础数据结构,分别为:string(字符串)、list(列表)、hash(字典)、set(集合)和zset(有序集合)。1.1、string(字符串)字符串string是redis种最简单的数据结构,它的内部表示就是一个字符数组。redis所有的数据结

[转载]响应速度不给力?解锁正确缓存姿势

1. 常见概念在合理应用缓存前,需要了解缓存领域里相关的几个常用术语:1)缓存命中:表示数据能够从缓存中获取,不需要回源;2)Cache miss:表示没有命中缓存,如果缓存内存中还有内存空间的话,会将数据加入到缓存中;3)存储成本:当没有命中缓存时,回源获取后会将数据放置到存储中,整个将数据放置到

[转载]Redis 性能问题分析

在一些网络服务的系统中,Redis的性能,可能是比MySQL等硬盘数据库的性能更重要的课题。比如微博,把热点微博[1],最新的用户关系,都存储在Redis中,大量的查询击中Redis,而不走MySQL。那么,针对Redis服务,我们能做哪些性能优化呢?或者说,应该避免哪些性能浪费呢?Redis性能的