普通视图

Received yesterday — 2026年2月10日

小年

作者obaby
2026年2月10日 15:13

生活终于似乎是又趋于平静,波澜不惊的过着。日子一天天过,似乎什么都变了,又似乎什么都没变。转眼已经是小年了,今年小区里少了放鞭炮的,基本也听不到太多的鞭炮声,似乎大家也都习惯了这种沉寂。

过完这一周也就放假了,昨晚跟对象商量怎么回家,是不是开一辆车就够了。今年有轮到了独自陪父母过年的时候,我带宝子回老家,对象也陪自己的父母过年。虽然两地不过40公里,过年期间来回奔波的时间却被无线放大了。每到过节的时候,村里的小车就多了起来,甚至镇上的路口每时每刻都在堵车。

开一辆车的好处就是回家的时候,一起回去就可以了。期间来回奔波就需要有人两头跑,这也就是开一辆车带来的弊端。

对象上周的时候,在公司附近的汽修厂洗了车。为了洗着,来来回回去了四五次,虽然是自动洗车机,但是每次看到排队二十几辆车的长龙,她还是放弃了,终于在某一天上午才西洗成功。

而粉皮,之前都是在4s店洗的。现在到了这个时候,4s点洗车的工人基本也都放假回家了。去年年底洗车,是之前买车的销售帮忙给洗的。这次就算了,在万达下面看到有自助洗车的地方,何不自助洗一下呢?以前自己还经常自己洗车,但是粉皮自己确从来没洗过。

年前总是有太多的事情,工作永远做不完,永远也改不完的bug,做不完的需求。公司周末的年会,这次竟然破天荒的让全员参加,不再是单独的领导。当然多数人不过就是背景板,除此之外没啥别的用处了。

除了签到的时候领了一个杀马特的小马,剩下的就是p都没有了。第一次见不去掉中奖名单的循环抽奖,着实是活久见了。三二一等奖竟然都是全部的人员一起,哪怕已经中奖了,还能参与后面的。呵呵哒,真特娘的是个人才。

头发其实也该稍微的修一下了,等119 group上班之后,预约时间。刚开始被告知79价位的已经拍到了下午四点。这今天约不上,后面几天就更难约了。过了一个小时,又重新打过去,重温问下了时间,这次也不管价位了,就问最近的能排到几点,所有价位都可以。

等了半分钟,听到电话那段不断的在询问理发师的安排。终于找到一个,问能不能早点过来。

看了下时间十一点十分,告诉对方十分钟左右就能到,总算是给约上了。工作日的万达并没多少人,停车场冷冷清清,可能很多人都已经回老家了吧。

至于是什么活动并不清楚,快速瞄了两眼,赶紧去剪头发。好在这种简单的打理还是挺快的,四十来分钟就ok了。还有点时间,顾不上吃饭,赶紧去地下停车场的自助洗车的地方洗车。

虽然停车场车辆不多,但是洗车的还是蛮多的,6个洗车位就空了两个,找了一个洗车位停进去。

拉上门口的帘子,扫码准备洗车,之前从来没用过这种自助洗车机,竟然是预付费的,不过这个也在预料之内,如果后付费,洗完跑了咋办呢?不过充值金额就比较蛋疼了98,198,298。那还是选个最小的吧。

冲水:

打泡沫:

貌似泡沫喷多了,嘻嘻

之后就是用刷子刷一下,冲水,用抹布擦干啦。

这个用一个手真的不方便,就不录了。最后当然就是洗白白啦。

虽然第一次用这东西,但是感觉也还可以。唯一的问题就是,那个毛巾只有一条,并且不是很干。

比外面洗车还是便宜的,一共花了不到8块钱,嘻嘻。

这90块钱,够洗一年了。

洗完车赶紧回公司,如果回去晚了,那些傻屌玩意儿可能就又要找茬了。虽然洗车才花了不到8块钱,但是今天一共花了1119(理发店充值)+98 (洗车充值),略贵,略贵

一通忙活,连午饭都没吃,没吃就没吃吧,就当减肥了。

希望大家有花不完的钱,小年快乐吖!

抢春节后的回程高铁票,抢得我喷血三升

作者崔话记
2026年2月10日 12:01

  连续几天都在抢节后回深的高铁票,使用12306的过程,实在是被郁闷到了。怎么我以前没有遇到过这么折腾的过程呢?

  返乡的订票异常顺利,但回程票就一波三折再三折,折上折。主要的问题是,这个app的程序,存在一些非常反智的行为逻辑。

使用12306

一、槽点

名义上说15:30开始抢票,但基本不可能抢得到。

  既然都是候补,为什么还要抢候补呢,不如都收集起来,采用抽奖模式分票得了。

名义上候补可选60个车次,但不能批量选择。

  择候补车次的过程不容易。这个时候大家当然是多多益善,只要时间段合适就行。但必须一个一个手工点击“候补”按钮,点得手抽筋了。

  过滤条件中,有仅看高铁仅看有票或者站点过滤,但没有“仅看可候补”的过滤项,有的能候补,有的不能候补。有些显示有几张票,这种的如果你去点“预订”是百分百订不到的,但你也不能候补。

  哪些已选了候补,哪些没选,哪些能候补哪些不能,都没有整行背景色变化之类的显著区分,只能看“候补”小字的颜色区分。

选好车次之后,填写其他订票信息,再提交时,又告诉你某个车次已经不能候补了。

  这时候,你只能回到上一步删除它告诉你的车次。但它只告诉你车次编号,没有告诉时间段,你回到上一步了,只能睁大眼睛找编号,这里的列表是时间顺序的,编号并没有特定顺序,非常难找。

  有时候我找了好几遍,都没有发现它所说的那个车次在我的候选列表中,应该是数据错误了。还发现挨着的2个不同时间的车次竟然出现了同一个车次编号的情况。

  我90%的时间就在这两步之间来回,你删了1个无法候补的车次,它又告诉你1个,你再删再提交,它再告诉你另1个,搞了十几次都不行,服了。

选好车次之后,填写其他订票信息,填写的选项全部无法记忆

  这时候需要填写多项关键信息:是否接受新增列车,添加乘车人,截止兑现时间等。必须全部填写完整才能下一步。

  咱的目标是有车坐,当然接受新增列车啊(只求时间合适),但系统默认状态是不接受,你得手动切换到接受,并设置你接受的席别和时间段。

  你都填好了,点提交的时候,系统提示你XXXX次列车候补已满不能再候补了,你必须返回前一步去删除这个车次,删除后再回来的时候,刚才填的全都没有记忆,要完全重新再填一遍。要多次删除车次,就得多次填写是否接受新增列车,添加乘车人,截止兑现时间等。

  我填了十几遍,最后还是没有能够提交候补。

多个候补订单,就要多次支付

  我提交了3个候补订单,支付出去3000多块钱了。为什么不能自动合并呢,或者让我可以选择是否合并,这样我就不用支付多份金额。我为什么分开候补订单,也还是因为一个单子里面车次多了就总遇到前述提交不了的原因嘛。

二、我觉得应该这样

别抢了,改抽奖吧,每几小时开奖一批。

  春运票就别抢了,早一个小时提交和晚一个小时提交,对于半个月后才出发的车票来说,这个时间差完全可以忽略不计。这样大家都可以不慌不忙的提交,也缓解了12306服务器的压力,也抹平了黄牛的优势。这样一来,大家都是凭运气,在运力满足需求之前,要怪就只能怪运气。

记住我填过的信息

  已经填写过的信息,一定要有记忆功能,或者可以设置默认信息。这在几乎所有APP里面都是基本功能的,12306怎么能缺呢?我用的安卓,不清楚苹果上面什么情况。

相同乘车人的候补订单,可以勾选合并,避免多次支付占用资金

  虽然多个候补,但我其实只要走一趟。当然可能有人说了,铁总怎么知道你是不是想走3趟呢?那不妨弄成可以选择合并或不合并的吧。我觉得春运的时候同一个人多次订同一个方向的票,99.999%是只想走一趟的。

让我选站点、日期范围、时间范围等,别让我选车次

  订票的目的是从A地到B地,春运票源紧张的时候,大家并不关心车次编号,车次编号完全可以订票成功之后再告知,你给我看100个订不了的车次有什么用呢。所以为什么不只需要选择出发站、目的站、日期、发车时间段、价位等核心信息呢?

  比如以我为例,可以让我选出发站范围(岳阳、武汉),目的站范围(深圳、广州),3天的日期范围,24小时的出发时间范围,票价可接受范围,车型席别选项,就可以了。有我的票之前,真不用告诉我G1357,G2468啥的。

  这个程序逻辑太难了是吧?让头秃的程序员们再多加几天班吧,实在不行,那就是应该上AI了吧?

Received before yesterday

十分钟学成开锁大师:从入门到放弃

作者崔话记
2026年2月9日 13:26

  前几天的事儿。出门收个被子回来,感觉有点热,就换了外套,再度出门。就在大门清脆的咣当声之后,DNA紧张了一下,立马下意识的摸了摸口袋,糟了,忘带钥匙了。不过咱淡定,毕竟没反锁,上某平台搜一搜自助开锁的小技能,说不定咱也能实操成功。

  别人的案例:

开锁

实战

  下午就看了好几个别人分享的自己开锁的经历,大部分是用个塑料片剪个缺口伸进门缝里把锁舌钩住然后推拉,成功的人不少,看着也不是很复杂,就觉得别人行我也行。晚上回去的时候,带着道具就开干了。什么鬼,这对塑料片的厚薄度、软硬度都是有要求的,我拿的就偏厚偏硬一点点,比较难塞进去且打个弯折,塞进去之后门被卡的比较紧,摩擦力大增,以至于挪动困难,而且手还不太容易使得上劲。

  一分钟了都没打开,咱可不是惧怕困难的人,继续尝试。

  三分钟了还没打开,咱可不是轻易放弃的人,再接再厉。

  五分钟了还没打开,咱可不是顽固不化的人,还是叫开锁师傅吧。

放弃

  来到楼下空地刷手机,等了十分钟开锁师傅就过来了。开锁师傅也拿出了个相似结构的塑料片,同样插进门缝去扯,不过似乎也被卡住了。我安慰自己,看来不纯粹是我的技术问题,同样的方法师傅也打不开。

开锁

  师傅一技不成,又升一技,拿出两根铁钩子伸进锁孔开始扒拉扒拉,我开始倒计时,十、九、八……,还没数到一,门已经被打开了。好消息是开锁成功,坏消息是痛失一百六十大洋。

自省。

  本事故,其实是一个拖延症的悲伤故事。前几天就想着要配一套备用钥匙了,一直拖延再拖延,这下好了,付出了“惨痛”的代价,损失额够我吃一顿不错的大餐了,也够我一年的某平台大会员了。有必要做的事情,有条件的时候就赶紧做吧,别拖。拖着拖着,有些事情可能就不需要做了,又会为自己的拖延增添合理化,从而加剧拖延症的症状。

  就像这个博客,我拖延了那么多年,最后还是决定得弄,白拖了属于是,早干嘛去了。

WP RSS.Beauty 插件

作者obaby
2026年2月9日 09:06

周末在 J.sky 那里看到一篇 rss 美化的文章,周末尝试了一下,想集成到 wp 中,但是操作的过程中发现各种问题。最开始想着直接通过修改 functions 的方法插入样式文件,但是折腾多次之后以失败告终,要么插入的样式有问题,要么无法插入样式,要么样式文件不加载。

退而求其次直接使用 openresty 的 sub_filter 模块进行替换,但是效果依然不行,替换代码无效。这个可能与当前 wp 的配置文件过于复杂有关系,可能有的配置存在冲突。

最后还是选择用插件来实现这个功能,好处是可以把所有东西都塞到一块儿,不用单独管理了,坏处那就是多了一个插件。

目前安装的插件已经四十多个了,启用的有 30 多个。

至于实际效果,预览地址:https://zhongxiaojie.cn/feed/

那就是下面的样子了,在 vivaldi 中的默认订阅界面效果:

原始内容效果:

插件代码:

https://cnb.cool/oba.by/rss-beauty

插件下载:

https://cnb.cool/oba.by/rss-beauty/-/releases/tag/1.0.0

现在想来,自己的这种集成方式相对来说激进了点,并没有 用到 RSS.Beauty 的功能,实际上只是用了一个样式文件。不过也还行吧,整洁干净,一个插件就解决了。

inBox 笔记春节特惠来了,顺便聊聊最近的开发进展

2026年2月8日 08:00
下周就是春节了,先提前祝大家新年快乐。这段时间,后台偶尔会收到用户的私信,问春节期间inBox笔记有没有折扣活动。我想了想,既然大家有这个需求,那就还是照例做一个小小的回馈活动吧。1.春节限时特惠这次活动的力度和往常一样,主打“微利回...

卡巴斯基引发的网络异常

作者obaby
2026年1月22日 09:27

忘了从什么时候开始,win11的小组件有一直打不开,提示网络异常。当时一度以为各种代理工具修改了系统设置导致的,所以解决方法也简单粗暴,眼不见心不烦,直接关掉了任务链小组件。

然鹅,事情貌似没那么简单,最近系统更新,可能跟系统更新有关,也可能跟卡巴斯基的病毒库有关。昨天晚上想从wps的云文档找点东西,结果发现wps云文档也打不开了。

点击诊断修复提示ssl连接异常。一不做二不休,直接删除所有的代理工具,当然,也尝试了windows的各种网络修复命令。

# 重置网络协议与DNS缓存
netsh winsock reset
ipconfig /release
netsh int ip reset
ipconfig /renew
ipconfig /flushdns

重启之后依然是同样的问题,后来在想是不是杀软的问题。直接退出卡巴基斯,竟然能访问了。开启之后,逐步禁用相关的功能。发现出问题的时候并不是单独防火墙或者安全控制的问题。

单独禁用防火墙没有什么效果,禁用流量扫描也没效果。所以不知道是不是卡巴的兼容问题。

然而,比较坑爹的就是当时买的三年的授权许可,现在还剩300天,尝试去更新卡巴版本的时候,也没看到所谓的新版,而新版是完全不同的一个版本。

并且这个价格感觉比自己买的时候也贵了不少。继续溜达看了下国产的杀软,瑞星;

江民:

金山杀毒:

这么看来还是喜欢青春版,嘻嘻。看着就好看。

目前用的eset,也装了金山青春版,看看后面要不要购买授权许可吧。现在这些国产的杀软价格和国外的区别不大。不过换了之后,网络问题算是解决了。目前就先酱紫吧。

彻底解决WordPress站点健康问题

作者obaby
2026年1月21日 09:29

再次建站的时候,虽然没有重装系统,但是却把系统的php版本升级到了8.4。也放弃了之前编译的php7.4版本的结巴分词,而是直接启了个python的服务

不过,有的东西确一直没解决,那就是从之前的7.4,到现在的8.4版本,站点健康在响应速度慢的时候就会显示:

页面缓存通过保存和提供静态页面使得用户访问时不需要每次都调用页面,进而改善了您站点的速度和性能。

页面缓存会通过查找已启用的页面缓存插件的同时向主页发起三次请求并查找一个或多个下列的 HTTP 客户端响应标头,来确定页面缓存的存在。

cache-control, expires, age, last-modified, etag, x-cache-enabled, x-cache-disabled, x-srcache-store-status, x-srcache-fetch-status.
 服务器响应时间的中位数是 718 毫秒,其应当小于推荐的 600 毫秒临界值。
 未检测到客户端缓存响应标头。
 未检测到页面缓存插件。

虽然,已经开启了redis object cache,但是这个东西时常出现,看着总是不爽。于是下定决心要解决这个问题,其实主要就是nginx的配置问题。通过下面的方法配置就ok了。

1.在 nginx.conf 的 http {} 块中添加(仅需一次)

fastcgi_cache_path /var/cache/nginx/wordpress
    levels=1:2
    keys_zone=WORDPRESS:64m
    max_size=256m
    inactive=60m
    use_temp_path=off;

如果目录不存在,先创建:/var/cache/nginx/wordpress

2.创建wordpress-php-with-cache.conf

# 1. 复制本文件为 wordpress-php-with-cache.conf(去掉 .example),并放到与 zhongxiaojie.conf 同一目录(如 vhost/)
# 2. 若 PHP 版本或路径不同,请修改 fastcgi_pass(见下方说明)
# 3. 在 zhongxiaojie.conf 的 443 server 块中,用 include wordpress-php-with-cache.conf 替换 include enable-php-pathinfo.conf 或 include enable-php.conf
# 4. 若 fastcgi.conf 找不到,请将 include 改为 Nginx 配置目录下的绝对路径,如 /etc/nginx/fastcgi.conf
# 5. 执行:mkdir -p /var/cache/nginx/wordpress && chown -R www:www /var/cache/nginx/wordpress
# 6. nginx -t && nginx -s reload

# fastcgi_pass 常见取值(按实际修改):
#   PHP 8.4 FPM(常见):unix:/run/php/php8.4-fpm.sock
#   PHP 8.2 FPM:        unix:/run/php/php8.2-fpm.sock
#   宝塔:               unix:/tmp/php-cgi-74.sock 等

location ~ [^/]\.php(/|$)
{
    try_files $uri =404;

    fastcgi_pass unix:/run/php/php8.4-fpm.sock;

    # ------ 页面缓存:跳过后台、登录、订阅等 ------
    set $skip_cache 0;
    if ($request_uri ~* "/wp-admin/|/wp-login\.php|/xmlrpc\.php|wp-.*\.php|/feed/|sitemap(_index)?.xml|/cart/|/checkout/|/my-account/") {
        set $skip_cache 1;
    }
    if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in|woocommerce_") {
        set $skip_cache 1;
    }
    fastcgi_cache_bypass $skip_cache;
    fastcgi_no_cache $skip_cache;

    # ------ FastCGI 缓存(依赖 nginx.conf 中 fastcgi_cache_path WORDPRESS)------
    fastcgi_cache WORDPRESS;
    fastcgi_cache_key $scheme$request_method$host$request_uri;
    fastcgi_cache_valid 200 301 302 60m;
    fastcgi_cache_use_stale error timeout updating http_500 http_503;
    fastcgi_cache_lock on;
    fastcgi_cache_lock_timeout 5s;

    fastcgi_index index.php;
    include fastcgi.conf;

    # ------ 检测工具要求的客户端缓存响应头 ------
    add_header X-Cache-Status $upstream_cache_status;
    add_header X-Cache-Enabled "1";
    add_header Cache-Control "public, max-age=3600";
}

3.在网站的配置文件中引入上面的配置信息vim /usr/local/nginx/conf/vhost/zhongxiaojie.com.conf

include wordpress-php-with-cache.conf;

重启nginx 就ok啦

 

WP 访客信息插件 v16.06.99

作者obaby
2026年2月8日 14:20

### v16.06.99

- 版本号更新至 16.06.99
- 新增 **纯真QQWRY** IP 查询方式(qqwry_api:qqwry.dat / ipv6wry.db),无需 Composer
- 新增 **显示协议类型** 选项:在国旗与国家文本后、IP 地址前显示 IPv4/IPv6 图标(img/ipv4.png、ipv6.png)
- QQWRY(IPv4/IpLocation、IPv6/ipdbv6)与 ip2region(xdb)返回完整字段,支持国旗与完整归属地显示
- 图标样式统一:IP 版本图标与 IP 地址图标使用与浏览器/系统图标相同的 vertical-align 等样式

昨天发布了之后,hary反馈说,有更精准的纯真的数据库

当然啦,除此之外,其他的宝子的反馈我也看了,包括对于归属地准确性讨论的。

有的宝子的评论还没来的及回复,后面会回复的哈。在忙着测试hary提供的版本,不过整体测试下来,这个版本的qqwry版本的数据v6归属地精度,的确提高了一大截。

在集成了qqwry版本的数据库之后,目前已经有四种归属地查询方法,大家可以选择自己喜欢的。

并且添加了是否显示协议版本图标的功能,可以显示访客的网络类型。

图标位于插件的img目录下,如果想使用其他图标,直接替换目录下对应的ipv4.png 和ipv6的png即可。

已经内置几组图标,如果要想只显示ipv6的图标,可以用一个空白图标来替换ipv4图标即可。

插件代码:

https://cnb.cool/oba.by/wp-useragent

最新版(插件包含多个ip数据库,尽量使用ftp或者scp上传,wp后台上传可能失败):

https://cnb.cool/oba.by/wp-useragent/-/releases/tag/16.06.99

从 DeepSeek 到 Claude Code:AI 发展这一年

2026年2月7日 08:00
今天看一篇文章时提到了DeepSeek,突然意识到一件事:DeepSeekR1的发布,其实是2025年1月的事情。距离现在,满打满算也就刚过去一年。不知道大家是什么感觉?给我的体感是,那仿佛是很久以前的历史了。这一年里发生的事情密度太...

WP 访客信息插件 v16.03.55

作者obaby
2026年2月7日 17:57

我把插件改了个名字,不再叫“WP-UserAgent”了,现在这个东西经过多次迭代,加了很多乱七八糟的东西,显示的重点也不再是评论的ua信息了。

前几天看到关于ip2region的介绍,于是又尝试集成了一次,集成之后发现效果也没有好更多,原来的v6归属地从青岛跑到北京了:

免费版的数据和商业版数据差距依然很大,其实包括纯真之类的也是一样套路,如果数据一样谁还会买商业版呢。尽管如此,我还是给加上了,同时更新了下纯真的数据库。

目前效果就是上面的样子,感兴趣的可以尝试下。

插件代码:

https://cnb.cool/oba.by/wp-useragent

最新版(插件包含多个ip数据库,尽量使用ftp或者scp上传,wp后台上传可能失败):

https://cnb.cool/oba.by/wp-useragent/-/releases/tag/16.03.55

Redis开篇

2021年12月29日 00:00

栏目持续更新中

一、Redis概述

Redis即Remote Dictionary Server(远程字典服务)是完全开源的,使用ANSIC语言编写的,遵守BSD协议的高性能的Key-Value数据库。Redis提供了丰富的数据结构,例如String、Hash、List、Set、ZSet等等。数据是存在内存中的,同时Redis支持事务、持久化、LUA脚本、发布/订阅、缓存淘汰、流技术等多种功能特性,提供了主从模式、Redis Sentinel和Redis Cluster集群架构方案。

Redis的作者是意大利程序员Antirez,作者个人博客:https://antirez.com/latest/

Redis的官网是:https://redis.io,源码位于GitHub上:https://github.com/redis

二、Redis的主要用途

  • 配合关系型数据库快速读取

    主流应用基本都是80%的读取和20%写入,Redis拿来配合MyMQL等实现读写分离,MySQL数据存储在硬盘,关系型数据库需要执行复杂SQL,相比下Redis基于内存按key读取明显效率更高,Redis在一些场景下的使用明显优于MySQL,例如计数器,排行榜,抢红包等。Redis通常用于一些特定场景,需要与MySQL一起配合使用,两者并不是相互替换和竞争关系,而是共用和配合使用

  • 分布式锁

    synchronized关键字和各种锁只能在一个JVM进程中有效,多服务器的集群环境下利用Redis的单线程特点,可以做分布式环境下的并发控制

  • 队列

    Reids提供list和set操作,这使得Redis能作为一个很好的消息队列平台来使用。我们常通过Reids的队列功能做购买限制。比如到节假日或者推广期间,进行一些活动,对用户购买行为进行限制,限制今天只能购买几次商品或者一段时间内只能购买一次,也比较适合适用。

  • 消息中间件

    Reids具有发布订阅消息功能,因此可以作为一个简单的消息中间件来使用,例如修改了数据字典后通知应用程序执行刷新缓存的方法

  • 分布式会话

    将session或token对应的用户信息保存到Redis,实现集群环境下会话共享

三、Redis的优势

  • 性能极高

    Redis能读的速度是110000次/秒,写的速度是81000次/秒

  • 数据类型丰富

    不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储

  • 支持数据的持久化

    可以将内存中的数据保持在磁盘中重启的时候可以再次加载进行使用Redis支持数据的备份,即master-slave模式的数据备份

四、Redis版本历史

  • 2009,诞生
  • 2010,1.0,Redis Data Types
  • 2012,2.6,Lua,PubSub,Redis Sentinel V1
  • 2013,2.8,Redis Sentinel V2,IPv6
  • 2015,3.0,Redis Cluster,GEO
  • 2016,4.0,RDB,AOF
  • 2017,5.0,Stream
  • 2020,6.0,ACLs,SSL,Threaded I/O
  • 2022,7.0,ACLv2,Redis Functions,listpack代替ziplist,Multi-part AOF

五、Redis版本规则

Redis版本号第二位是奇数的为非稳定版本,例如2.7、2.9、3.1。第二位是偶数的为稳定版本,例如2.6、2.8、3.0。当前奇数版本就是下一个稳定版本的开发版本,例如3.0就是2.9的稳定版,2.9就是3.0的开发版。

根据官网安全漏洞提示,升级redis6一定要选择6.0.8以上版本,或者直接升级到7。

六、Redis7新特性

  • 多AOF文件支持

    7.0版本中一个比较大的变化就是aof文件由一个变成了多个,主要分为两种类型:基本文件(base files)、增量文件(incr files),请注意这些文件名称是复数形式说明每一类文件不仅仅只有一个。在此之外还引入了一个清单文件(manifest)用于跟踪文件以及文件的创建和应用顺序(恢复)

  • Config命令增强

    对于Config Set和Get命令,支持在一次调用过程中传递多个配置参数。例如我们可以在执行一次Config Set命令中更改多个参数: config set maxmemory 10000001 maxmemory-clients 50% port 6399

  • 限制客户端内存使用 Client-eviction

    一旦Redis连接较多,再加上每个连接的内存占用都比较大的时候,Redis总连接内存占用可能会达到maxmemory的上限,可以增加允许限制所有客户端的总内存使用量配置项。
    redis.config中可以用两种配置形式:指定内存大小 maxmemory-clients 1g、基于maxmemory的百分比 maxmemory-clients 10%

  • listpack紧凑列表调整

    listpack是用来替代ziplist的新数据结构,在7.0版本已经没有ziplist的配置了(6.0版本仅部分数据类型作为过渡阶段在使用),listpack已经替换了ziplist类似hash-max-ziplist-entries的配置

  • 访问安全性增强ACLV2

    在redis.conf配置文件中,protected-mode默认为yes,只有当你希望你的客户端在没有授权的情况下可以连接到Redis Server的时候可以将protected-mode设置为no

  • Redis Functions

    Redis函数,一种新的通过服务端脚本扩展Redis的方式,函数与数据本身一起存储。

  • RDB保存时间调整

    持久化文件RDB的保存规则发生了改变,尤其是时间记录频度变化

  • 命令新增和变动

    1.ZSet(有序集合)增加ZMPOP、BZMPOP、ZINTERCARD 等命令。
    2.Set(集合)增加SINTERCARD命令。
    3.LIST(列表)增加LMPOP、BLMPOP,从提供的键名列表中的第一个非空列表键中弹出一个或多个元素。

  • 性能资源利用率、安全性等改进

    自身底层部分优化改动:Redis核心在许多方面进行了重构和改进:
    1.主动碎片整理V2:增强版主动碎片整理,配合Jemalloc版本更新,更快更智能,延时更低。
    2.HyperLogLog改进:在Redis5.0中,HyperLogLog算法得到改进,优化了计数统计时的内存使用效率,7.x更好的内存统计报告。
    3.如果不为了API向后兼容,我们将不再使用slave(奴隶)一词(政治正确)

七、Redis基础篇

使用Redis前需要编译安装以及进行基本的配置,Redis的编译安装、运行,基本配置和客户端命令使用具体见:

7.1 数据结构

Redis的数据结构指的是Value的数据结构类型,Key都是字符串。Redis官网的介绍:https://redis.io/technology/data-structures/

截止到目前的7.x版本,Redis共有10大数据结构,常用的经典数据结构类型有String、List、Hash、Set、ZSet

序号文章名概述
1Redis数据结构之String字符串
2Redis数据结构之List列表
3Redis数据结构之Hash哈希表
4Redis数据结构之Set集合
5Redis数据结构之ZSet(SortedSet) 有序集合

Redis进化过程中又陆陆续续推出了GEO、HyperLogLog、Bitmap、Bitfleid、Stream这几种更加高级的数据结构

序号文章名概述
1Redis数据结构之HyperLogLog用来做基数统计的算法
2Redis数据结构之GEO地理空间
3Redis数据结构之Bitmap位图,二进制位的bit数组
4Redis数据结构之Bitfleid位域
5Redis数据结构之Stream流,主要用于消息队列

参考

  1. 尚硅谷Redis零基础到进阶,作者:尚硅谷,哔哩哔哩,2023.02.21

两种困境

2026年2月4日 08:00
上周和前同事一起打球,他跟我讲:他们部门解散了,他自己也已经找了一个月的工作。后来他说不想干软件这行了,干了十多年,干够了,不过转头一想,又不知道能干啥,以前也有过一些想法,但仅仅停留在“想”的层面,没有行动。然后就发现,我俩是两个极...

从“苦读教程”到“听 AI 播客”

2026年2月2日 08:00
我之前写过文章分享怎么学编程。熟悉我的朋友都知道,我是科班出身,写了十几年代码。在以前开始入门的时候,我的学习路径非常“传统”:找视频教程、买书、跟着视频一行行敲代码。那是一个“苦读”的过程,获取知识的门槛很高,需要耐心和热爱去筛选和...

路虽远,行则将至:写在蒋羿抵达山海关之际

2026年2月1日 08:00
上周三晚上打开抖音,刷到了我关注已久的博主——蒋羿。视频里,他站在山海关,宣告自己徒步万里长城的挑战,终于画上了句号。看着他在终点大喊、拍照的那一刻,隔着屏幕,都替这个陌生的四川小伙感到高兴。从嘉峪关到山海关蒋羿今年30岁,是个普通的...

语音输入法的爆发前夜

2026年1月31日 08:00
从去年开始,语音输入法迎来了井喷。我看到了很多语音输入法,有手机上的,有PC上的。PC上我注意到一个输入法,大家估计也都看到过,叫Typeless。这个输入法做得很极端,它是一个国外小团队做的。它的输入法打开非常理想主义,或者说非常绝...

用了一周豆包,我还是换回了微信输入法

2026年1月29日 08:00
用了几天的豆包输入法,我还是决定,换回我的微信输入法。上周我写了一篇文章《微信输入法,越来越香了》,当时是因为觉得它的语音输入进步巨大,就很认真的夸了一下,后来文章被推荐,所以吸引了很多人来观摩和讨论。但收到的一大堆留言里,却有大量留...

死磕两晚:一篇硬核教程背后的“体力活”

2026年1月28日 08:00
昨天的文章很有意思。我写了那篇接近四千字的《国内也能用!ClaudeCode完整上手指南》,发布之后,阅读量其实并不高,到现在还不到两千。但转发量涨得特别快,已经快破200了。这应该是我近期转发率最高的一篇文章。这也印证了一个现象:大...

聊聊 Claude Code:它不是工具,它是实习生

2026年1月27日 08:00
如果是我的老读者,应该发现我的编程工具一直在变。从最早推荐Trae到Gemini,到后来的AIStudio,就像神农尝百草一样,我试了很多AI编程工具。但最近一个月,我几乎只用一个工具:ClaudeCode。经常有朋友问我:“咕咚,C...
❌