1、存储结构
Redis (全称:REmote DIctionary Server)取自全称大写的几个字母,翻译为:远程字典服务器,它是字典结构存储数据,并且允许其他程序通过TCP协议读写字典里里的内容。Redis字典中支持的键值类型有五种:
字符串类型(String):可以是字符串、整数、浮点数
结构的读写能力:1、对整个字符串或者字符串其中的一部分执行操作
2、对整数和浮点数执行自增(increment)或者自减(decrement)操作
列表类型(List):双端链表,链表上每个节点都包含了字符串
结构的读写能力:1、从链表的两端弹出(pop)或者推入(push)
2、根据偏移量对表进行修剪(trim)
3、读取单个或者多个元素
4、根据值查找或者移除元素
集合类型(SET):包含字符串的无序收集器,但是每个字符串都是唯一的 (无序唯一)
结构的读写能力:1、添加、获取、移除单个元素
2、检查一个元素是否存在于集合中
3、计算交集、并集、差集
4、从集合里面随机获取元素
有序集合类型(ZSET):字符串成员(member)和浮点数分支(score)之间有序映射,元素的排列顺序由分值大小决定
结构的读写能力:1、添加、获取、删除单个元素
2、根据分支范围(range)或者成员来获取元素
散列类型(HASH):包含键值对的无序散列值
结构的读写能力:1、获取、删除、添加单个键值对
2、获取所有键值对
2、内存存储和持久化特性
Redis所有的数据都存储在内存中,所有Redis又有人称为内存数据库,这是它的特性和优势,相对于其他基于硬盘存储的数据库,它对数据的读写速度远快于它们。在一个普通的笔记本电脑上,Redis读写键值的速度可以达到每秒10万这种级别。所以快速读写键值是Redis的一大特性。
但是将数据存储在内存中也存在一个问题,一旦程序关闭,内存被释放,这些数据就会丢失。别担心,Redis也提供了数据的持久化,它可以将内存中的数据异步的写入到硬盘中,同时不影响提供服务。
注:硬盘:就好比是电饭煲,它里面容纳多少饭就相当于硬盘多大的存储
内存:就好比是饭碗,它每次容纳多少就相当于内存大小,它不是用来永久存储米饭的,它是用来临时存放米饭用来吃的,吃就相当于程序的运行
CPU:就好比是你,你给米饭上加上肉、蔬菜,然后吃到嘴里咀嚼,这个过程类似于计算、处理数据