失效链接处理 |
一文读懂redis五大类型 PDF 下载
本站整理下载:
相关截图:
主要内容:
什么是 Redis?
这个 Redis,它是一个内存的,键值对<K,V>的,单线程的。当然这里要
注意一下,这里面说的单线程指得是工作线程是单个线程,在后续版本中
它又出现了多线程,而这个多线程是 IO 多线程,我们一会儿再解释~
关于 Redis 的介绍和总结呢,我们可以先从一个模型来入手。
比如说,我有一个 Redis,Redis 它是一个 C 语言写的程序。在服务器
里面有一个东西叫做内核(kernel),然后可以有很多客户端并发的去访问
Redis。
当 redis 和多个并发的客户端在通信的时候,可能有的客户端发了数据,
有的客户端没发数据。那么,如何达到最快速的知道谁有数据我就读谁,
谁没数据,我就不碰它,减少没必要的操作,这样的话呢,它的底层则是用
了 epoll。
当然,说 epoll 也不是太准确,因为如果内核没有 epoll 的话,它会降低成
select 或者 poll。说白了,这几个东西都归属为多路复用器。
通过多路复用器来获得 IO 事件。有了事件之后,我们就需要自己去调
代码,程序自己要去读写 IO 所以这叫做同步模型。
然后读过来的数据被放到内存中就会开始根据解析读到的东西进行计
算。
在 IO读取的时候,即便通过事件已经知道哪些可以读了,但因为 Redis
是单线程的所以底层需要遍历。因此读取是串行的。
读出来以后进行计算,也是要先计算好第一个,才能计算第二个,所以,
计算也是串行的。
redis 提供五种数据类型:string,hash,list,set 及 zset(sorted set)。
String(字符串):
Redis 字符串是字节序列。Redis 字符串是二进制安全的,这意味
着他们有一个已知的长 度没有任何特殊字符终止,所以你可以存储任何
东西,512 兆为上限
|