本文转载自公众号「读书芯」(ID:AI_Discovery)。默认情况下,Redis是缓存内存,被称为数据库。它利用易失性内存,可以为用户提供完整的持久性选项和对其他数据类型的支持。曾经有一段时间,Redis是全球流行的工具。关于这个风靡全球的缓存工具,你知道多少,让我开始一段关于它的技巧和事实之旅。1.持久化让用户把Redis当作一个合法的数据库,而不是一个不稳定的临时缓存。如果使用类似的工具“Memcached”重启,会丢失相关信息,但Redis可以无损保存数据,保持完整。2.Redis拥有使用所有流行语言开发的客户端API:C、Ruby、Java、JavaScript和Python。3、Redis2.0版本的发布提供了传播数据的功能,应用了订阅/发布消息协议(Subscribe/Publishmessagingprotocol),即发布-订阅模型。4、CPU性能不是Redis最大的障碍,要么是内存受限,要么是网络受限。但是,如果发生这种情况,水平/垂直缩放可以帮助克服任何与CPU相关的问题。资料来源:unsplash5。与MongoDB等传统数据库不同,Redis支持事务。6.RedisPersistenceandRelationalDatabase(RDB):以AOF方式对数据集按指定时间间隔进行快照(数据备份),记录服务器收到的每一次写操作。7、Redis快照或Redis后台保存进程只会在服务器不执行后续命令时才会介入,因此可以保证随机存取存储器(RAM)中上报为原语的任何指令在随机存取存储器(RAM)中也上报为原语磁盘快照。8、如果你更喜欢用Java,可以使用“Jedis”,它是一个Java客户端,可以将Java应用程序与Redis连接起来。请注意,单个“Jedis”实例不是线程安全的。为了避免这些问题,出现了“JedisPool”,它是一个线程安全的网络连接池,默认最大为8个。9.Redis具有数据库功能。甚至结合缓存的优势,其性能还是很不错的。其实如果不需要持久化,可以暂时关掉,因为它也可以用来做缓存。10.在数据始终保存在内存中这一点,Redis表现的淋漓尽致。它超越传统数据库的读写操作能力令开发人员着迷。资料来源:levelup11。许多行业领先的公司都在使用Redis,包括Twitter、Pinterest和Github。他们是Redis项目的早期采用者,就像DLT实验室一样。12.Redis将数据存储为键值对,其中某种类型的数据结构充当键。此外,它允许对象将其键和值的上限限制为512兆字节。这种可用于存储键值对的键哈希系统称为Redis哈希表。13.Redis最多可以处理232个键。在实际测试中,每个实例至少可以处理2.5亿个密钥。换句话说,使用Redis的限制很可能是机器/基础设施中的可用内存。14、Redis中每一种可能的数据结构都可以容纳232个元素,即hash、list、set、sortedset达到顶峰时可以使用232个元素。15.即便如此,Redis在迄今为止最容易设置的软件排行榜中仍然排名第二,不要问谁第一!最后奉上一个小技巧给朋友,为了达到Linux性能更高效的分配方式(Redis的理想配置是这样):设置overcommit_memory为1。
