上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 20 下一页
摘要: 构建简单的社交网站 用户和状态 用户信息 使用hash存储 def create_user(conn, login, name): llogin = login.lower() # 锁住小写用户名,防止多用户同时申请一个名字 lock = acquire_lock_with_timeout(conn 阅读全文
posted @ 2022-11-29 11:30 某某人8265 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 基于搜索的应用程序 通常使用set和zset的交集、并集、差集。 使用redis进行搜索 基本索引原理 比起一个单词接一个单词的扫描,如何才能更快地对文档搜索?使用反向索引,set和zset都很适合。 索引结构 # 正向索引 0 : “I love you” 1 :“I love you too” 阅读全文
posted @ 2022-11-29 09:42 某某人8265 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 使用Redis构建应用程序组件 自动补全 搜索框中输入几个字符后给出相关提示 自动补全最近联系人 给出以输入字符为起始的用户名。服务器上数百万用户每人都有一个属于自己的联系人列表存储最近联系过的100个人,为了在快速写入的前提下尽量减少内存消耗,使用Redis的列表以有序方式存储元素。但是Redis 阅读全文
posted @ 2022-11-27 16:20 某某人8265 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 使用Redis构建支持程序 构建的不是应用程序,而是记录应用程序信息、记录访客信息、为应用程序提供配置信息等手段来帮助和支持应用程序。 使用Redis记录日志 如何用Redis存储与世界紧密相关的日志 最新日志 将最新消息以列表形式存储在Redis中 查看代码 def log_recent(conn 阅读全文
posted @ 2022-11-26 08:31 某某人8265 阅读(63) 评论(0) 推荐(0) 编辑
摘要: Redis 5种结构:STRING LIST SET HASH ZSET 常用命令 https://redis.io/commands/ 通用命令 DEL key DUMP key EXISTS key # 过期时间相关 PERSIST key # 移除过期的键 EXPIRE key secnods 阅读全文
posted @ 2022-11-26 08:29 某某人8265 阅读(52) 评论(0) 推荐(0) 编辑
摘要: c++ 标注 c++17 后逐渐完善 注解标签语法:[[attribute]] types/functions/enums/etc 告诉编译器没有返回值 [[noreturn]]常用于系统函数设计,如 std::abort() std::exit();[[noreturn]] void termin 阅读全文
posted @ 2022-10-29 11:45 某某人8265 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 这种方法用于向用户隐藏实现细节 例如存在库的头文件: class lib { public: lib(); ~lib(); int fun(); private: int field1_; char field2_; int foo(); }; 用户可以从字段名和方法名推测出库的具体实现方法。 pi 阅读全文
posted @ 2022-10-29 10:14 某某人8265 阅读(49) 评论(0) 推荐(0) 编辑
摘要: CMake Tutorial — CMake 3.27.1 Documentation 1. 构建可执行程序 其中 cmake_minimum_required project add_executable 三者是必须的 版本要求 项目名称、版本 设置 cmake 变量 cpp读取cmake变量 设 阅读全文
posted @ 2022-10-21 19:20 某某人8265 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 进程与线程 多线程程序调用fork后,子进程只是调用fork线程的完整复制。子进程自动继承父进程种互斥锁的状态。这引起一个问题:子进程不知道从父进程继承来的互斥锁的具体状态。这个互斥锁可能被加锁了,但不是调用fork函数的那个线程锁住的,而是由其他线程锁住的。 /* prepare 在fork调用后 阅读全文
posted @ 2022-10-21 19:12 某某人8265 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 定时器 定时事件被封装为一个定时器对象,定时器被容纳到定时器容器内。二者通常混谈。这里讨论两种高效的管理定时器的容器:时间轮和时间堆 实现方式 组织方式 时间序 红黑树nginx 最小堆libevent libev go语言 执行序 时间轮netty skynet kafka linux内核 应用方 阅读全文
posted @ 2022-10-20 21:28 某某人8265 阅读(374) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 20 下一页