redis数据删除策略

    大家好,我是程序媛雪儿,今天不说晚安,说早上好,哈哈,今天我们唠唠redis数据删除策略。

一、惰性删除

    设置key的过期时间,当需要该key,再检查是否过期,如果过期,就删掉,没过期,就返回(只有key过期才会检查)

set name zhangsan 10
get name

优点:不会额外消耗cpu

缺点:大量过期的数据占了内存,未及时处理

二、定期删除

每隔一段时间,就对key进行检查(从一定数量的数据库抽取一定数量的key),并删除其中的过期key

两种模式

slow模式:默认是10hz,每次不超过25ms,可以通过修改redis.conf的hz选项来调整这个次数

fast模式:两次间隔不低于2ms,每次耗时不超过1ms

优点:可以通过限制操作删除的执行时长和频率来控制对cpu和内存的影响

缺点:难确定删除的执行时长和频率

Redis的过期删除策略:惰性删除+定期删除配合使用

三、内存淘汰机制(是上篇讲的)

8种策略,nginx.conf中的配置

maxmemory-policy noeviction #默认策略,不淘汰任何key,内存满了不允许写入新数据

其中,解释一下LRU和LFU算法

LRU(least recently used)最近最少使用,当前时间-最后访问时间,这个值越大越优先淘汰,换句话说就是淘汰最长时间没访问的

LFU (least frequently used ) 最少频率使用,会统计每个key的访问频率,值越小淘汰优先级越高

    今天的知识碎片到这里就结束啦~咱们顺便唠唠嗑,我最近每天下班在健身房泡一个小时,跑步机30-40min,拉伸10min,练练背,玩玩哑铃做做力量训练,我觉得真的会很舒服,咱们不管是写代码还是实验室里搞研究,天天坐的时间太久了,能时不时舒展一下,是一件很棒的事情哦,之前雪儿经常肩膀痛,现在已经不痛啦,很推荐各位宝子试一下昂~

完整笔记:java面经 | 雪儿Snowy (snowyee.cn)

### 关于 Node-SassPython 2 的兼容性问题 Node-sass 是一个用于编译 Sass 文件到 CSS 的库,其依赖项可能涉及本地构建工具链。如果遇到与 Python 2 的兼容性问题,则可能是由于 node-gyp 工具的配置所致。以下是关于如何解决此问题的具体方法: #### 使用指定版本的 Python 确保系统上已安装最新版的 Python 或切换至 Python 3 版本,因为 Python 2 已停止维护并可能导致许多现代软件包无法正常工作。可以通过设置环境变量 `PYTHON` 来强制使用特定版本的 Python 进行构建[^1]。 ```bash export PYTHON=$(which python3) npm rebuild node-sass --force ``` 上述命令通过显式定义使用Python 解释器来重建 node-sass 模块,并忽略缓存以重新下载必要的二进制文件。 #### 更新 Node-GYP 及相关依赖 有时旧版本的 node-gyp 不支持较新的操作系统特性或更高版本的语言解释器。因此建议更新全局范围内的开发工具集: ```bash npm install -g node-gyp@latest npm install --build-from-source --update-binary node-sass ``` 这一步骤会从源码重新编译 node-sass 并应用最新的可用补丁。 #### 替代方案:Dart-Sass 考虑到长期维护性和跨平台稳定性,推荐考虑迁移到 dart-sass 实现作为替代品之一。它是完全由 Dart 编写的纯 JavaScript 库形式存在,无需任何外部 C++ 扩展即可运行良好。 ```javascript const sass = require('sass'); // Example usage of dart-sass API here... console.log(sass.renderSync({ file: 'input.scss' }).css.toString()); ``` 以上代码片段展示了如何利用 dart-sass 同步渲染 SCSS 文件为标准 CSS 输出。 --- ### 总结 当面对 “node-sass compatible with Python 2 error” 类型错误时,优先升级基础架构组件如 Python 至更安全可靠的版本;其次调整项目级脚手架参数允许自定义化处理流程;最后评估是否有必要转向更加现代化且易于管理的技术栈选项比如 dart-sass
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值