Redis的那些最常晤口试题目
好比说,对一个 key 执行INCR呼吁,对一个列表举办LPUSH呼吁,可能对一个哈希表执行HSET呼吁,这类操纵都不会修改 key 自己的保留时刻。另一方面,假如行使RENAME对一个 key 举办更名,那么更名后的 key的保留时刻和更名前一样。 RENAME呼吁的另一种也许是,实行将一个带保留时刻的 key 更名成另一个带保留时刻的 another_key ,这时旧的 another_key (以及它的保留时刻)会被删除,然后旧的 key 会更名为 another_key ,因此,新的 another_key 的保留时刻也和本来的 key 一样。行使PERSIST呼吁可以在不删除 key 的环境下,移除 key 的保留时刻,让 key 从头成为一个persistent key 。 2、怎样更新保留时刻 可以对一个已经带有保留时刻的 key 执行EXPIRE呼吁,新指定的保留时刻会代替旧的保留时刻。逾期时刻的精度已经被节制在1ms之内,主键失效的时刻伟大度是O(1),EXPIRE和TTL呼吁搭配行使,TTL可以查察key的当前保留时刻。配置乐成返回 1;当 key 不存在可能不能为 key 配置保留时刻时,返回 0 。 最大缓存设置: 在 redis 中,应承用户配置最大行使内存巨细,server.maxmemory默以为0,没有指定最大缓存,假若有新的数据添加,高出最大内存,则会使redis瓦解,以是必然要配置。redis 内存数据集巨细上升到必然巨细的时辰,就会实施数据裁减计策。 redis 提供 6种数据裁减计策:
留意这里的6种机制,volatile和allkeys划定了是对已配置逾期时刻的数据集裁减数据照旧从所稀有据集裁减数据,后头的lru、ttl以及random是三种差异的裁减计策,再加上一种no-enviction永不接纳的计策。 行使计策法则:
三种数据裁减计策: ttl和random较量轻易领略,实现也会较量简朴。首要是Lru最近起码行使裁减计策,计划上会对key 按失效时刻排序,然后取最先失效的key举办裁减 16.redis 最得当的场景Redis最得当全部数据in-momory的场景,固然Redis也提供耐久化成果,但现实更多的是一个disk-backed的成果,跟传统意义上的耐久化有较量大的不同,那么也许各人就会有疑问,好像Redis更像一个增强版的Memcached,那么何时行使Memcached,何时行使Redis呢? 假如简朴地较量Redis与Memcached的区别,大大国都市获得以下概念:
1、会话缓存(Session Cache) 最常用的一种行使Redis的景象是会话缓存(session cache)。用Redis缓存会话比其他存储(如Memcached)的上风在于:Redis提供耐久化。当维护一个不是严酷要求同等性的缓存时,假如用户的购物车信息所有丢失,大部门人城市不兴奋的,此刻,他们还会这样吗? 荣幸的是,跟着 Redis 这些年的改造,很轻易找到怎么适当的行使Redis来缓存会话的文档。乃至广为人知的贸易平台Magento也提供Redis的插件。 2、全页缓存(FPC) 除根基的会话token之外,Redis还提供很轻盈的FPC平台。回到同等性题目,纵然重启了Redis实例,由于有磁盘的耐久化,用户也不会看到页面加载速率的降落,这是一个极大改造,相同PHP当地FPC。 再次以Magento为例,Magento提供一个插件来行使Redis作为全页缓存后端。 另外,对WordPress的用户来说,Pantheon有一个很是好的插件 wp-redis,这个插件能辅佐你以最快速率加载你曾赏识过的页面。 3、行列 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |