如何用织梦修改建设新网站:掌握主流网站开发语言的技巧?

摘要:现在主流的网站开发语言,怎么用织梦修改建设一个新的网站,官网做的好看的网站有哪些,公司网站建设的目的和意义目录标题 过期删除策略如何设置过期时间查看key过期时间取消key过期时间如果判定key已过期过期删除策略定时删除惰性删除定期删除 R
现在主流的网站开发语言,怎么用织梦修改建设一个新的网站,官网做的好看的网站有哪些,公司网站建设的目的和意义目录标题 过期删除策略如何设置过期时间查看key过期时间取消key过期时间如果判定key已过期过期删除策略定时删除惰性删除定期删除 Redis过期删除策略Redis如何实现定期删除第一种版本第二种版本 内存淘汰策略如何设置Redis最大运行内存第一种版本第二种版本 Redis内存淘汰策略不… 目录标题 过期删除策略如何设置过期时间查看key过期时间取消key过期时间如果判定key已过期过期删除策略定时删除惰性删除定期删除 Redis过期删除策略Redis如何实现定期删除第一种版本第二种版本 内存淘汰策略如何设置Redis最大运行内存第一种版本第二种版本 Redis内存淘汰策略不进行数据淘汰的策略进行数据淘汰的策略查看当前内存淘汰策略修改内存淘汰策略 LRU和LFU算法的区别Redis如何实现LRU算法第一种版本第二种版本 Redis如何实现LFU算法 过期删除策略 如何设置过期时间 设置 key 过期时间的命令一共有 4 个 expire key n设置 key 在 n 秒后过期比如 expire key 100 表示设置 key 在 100 秒后过期pexpire key n设置 key 在 n 毫秒后过期比如 pexpire key2 100000 表示设置 key2 在 100000 毫秒100 秒后过期。expireat key n设置 key 在某个时间戳精确到秒之后过期比如 expireat key3 1655654400 表示 key3 在时间戳 1655654400 后过期精确到秒pexpireat key n设置 key 在某个时间戳精确到毫秒之后过期比如 pexpireat key4 1655654400000 表示 key4 在时间戳 1655654400000 后过期精确到毫秒 当然在设置字符串时也可以同时对 key 设置过期时间共有 3 种命令 set key value ex n 设置键值对的时候同时指定过期时间精确到秒set key value px n 设置键值对的时候同时指定过期时间精确到毫秒setex key n valule 设置键值对的时候同时指定过期时间精确到秒。 查看key过期时间 若查询结果为-1则表示永不过期 ttl key取消key过期时间 persist key如果判定key已过期 每当我们对一个 key 设置了过期时间时Redis 会把该 key 带上过期时间存储到一个过期字典expires dict中也就是说「过期字典」保存了数据库中所有 key 的过期时间。过期字典存储在 redisDb 结构中如下 typedef struct redisDb {dict *dict; /* 数据库键空间存放着所有的键值对 */dict *expires; /* 键的过期时间 */.... } redisDb;过期字典数据结构结构如下 过期字典的 key 是一个指针指向某个键对象过期字典的 value 是一个 long long 类型的整数这个整数保存了 key 的过期时间 字典实际上是哈希表哈希表的最大好处就是让我们可以用 O(1) 的时间复杂度来快速查找。当我们查询一个 key 时Redis 首先检查该 key 是否存在于过期字典中 如果不在则正常读取键值如果存在则会获取该 key 的过期时间然后与当前系统时间进行比对如果比系统时间大那就没有过期否则判定该 key 已过期。 过期删除策略 定时删除 定时删除策略的做法是在设置 key 的过期时间时同时创建一个定时事件当时间到达时由事件处理器自动执行 key 的删除操作。定时删除策略的优点 可以保证过期 key 会被尽快删除也就是内存可以被尽快地释放。因此定时删除对内存是最友好的。 定时删除策略的缺点 在过期 key 比较多的情况下删除过期 key 可能会占用相当一部分 CPU 时间在内存不紧张但 CPU 时间紧张的情况下将 CPU 时间用于删除和当前任务无关的过期键上无疑会对服务器的响应时间和吞吐量造成影响。所以定时删除策略对 CPU 不友好。 惰性删除 惰性删除策略的做法是不主动删除过期键每次从数据库访问 key 时都检测 key 是否过期如果过期则删除该 key。 惰性删除策略的优点 因为每次访问时才会检查 key 是否过期所以此策略只会使用很少的系统资源因此惰性删除策略对 CPU 时间最友好。
阅读全文