首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHPCMS用SQL语句对文章进行批量删除

在批量删除文章前,首先得熟悉用数据库增加一篇文章时变动的有哪些表,所以请先看我以前写的一篇文章 PHPCMS数据库入库模块制作教程 先手动在PHPCMS后台添加一篇文章,参数尽可能的详细,附件,推荐位,...相关文章,能加的都加上,然后查看数据库,把表信息复制下来,删除文章后再次复制数据库表信息,用BeyondCompare进行比较,方法跟上面提到的文章相同。...,他记录的是 后台操作日志,记录着增加文章删除文章,编辑文章的操作日志 重点关注的数据表 v9_attachment 附件信息 v9_attachment_index 附件id和文章id的关系 v9_...v9_keyword 文章关键字 v9_keyword_data 文章和关键字的关系 删除一篇文章要牵扯到这么多表,分析将会是一个浩大的工程啊!...咱们就以删除指定分类下的所有文章为例;首先得获取到要删除文章id有哪些,然后就是了解各个表跟文章id的关系,以下是我的分析 表v9_attachment_index 字段keyid格式 c-6-3、c

1.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

Loki | 数据过期自动删除策略设计

最近使用Loki碰到一个比较蛋疼问题,配置日志过期时间,配置这种事情,自然是要参照官方文档了,当时就找到了这个文档,地址: https://github.com/grafana/loki/blob/v1.5.0...通过这种配置当需要删除某个时间段之间的数据,就可以快速删除。...数据存储系统中通常存在过期策略,而对于Loki是保留策略,可以在Loki中配置保留多少天的数据,那么之前数据会被清除,Loki中默认保留所有数据,如果想要开启保留策略,必须在loki.yaml配置文件中添加如下配置...: table_manager: retention_deletes_enabled: true retention_period: 336h 超出这个保留时间的表数据将被自动清理,具体保留数据策略如下图所示...另外一点需要注意的是Loki虽然在设计中声明自己是多租户的,而且每个租户之间数据隔离,但在过期策略这部分却不支持按照租户设置过期策略,所以就目前来说Loki的多租户并不是特别完善,如下图所示: ?

8.4K30

redis过期删除机制(redis过期策略和删除策略)

另一种是对过期键进行删除的策略,也可以在某种程度上释放内存。 1、内存释放的策略 Redis中有专门释放内存的函数:freeMmoryIfNeeded。...mem_freed) >= mem_tofree) break; usleep(1000); } return C_ERR; 2、过期删除的策略...(1)惰性删除[被动删除] 惰性删除由db.c/expireIfNeeded()函数实现,所有读写数据库的命令在执行之前都会调用expireIfNeeded()函数对要操作的key进行检查。...如果key已经过期,那么将会将key从数据库中删除 /* This function is called when we are going to perform some operation * in...若hz=10,则一次清理时间最大为25ms; 清理时依次遍历所有的db; 从db中随机取20个key,判断是否过期,若过期,则逐出; 若有5个以上key过期,则重复步骤4,否则遍历下一个db; 在清理过程中

2.1K20

WordPress删除文章自动删除图片附件

WordPress删除文章时,文章内所上传到媒体库的图片等附件不会自动删除,占用了网站空间,因此下面说明通过几行代码的简单方式实现在删除文章自动删除缩略图以及图片附件,这样就不用手动去媒体库寻找并删除...将代码放到模板目录functions.php文件中即可使用,其原理是在删除文章时先执行函数内容,删除特色图片以及图片附件,如果在使用action delete_post而不是before_delete_post...将导致删除文章后因媒体附件与文章关联已取消而无法正确删除。.../** * 删除文章删除图片附件 */ function delete_post_and_attachments($post_ID) { global $wpdb; //删除特色图片...thumbnails as $thumbnail) { wp_delete_attachment($thumbnail->meta_value, true); } //删除图片附件

81610

redis 过期删除策略(redis过期机制)

过期删除策略 redis可以对key的通用设置中,可以设置key的过期时间及ttl 如果单纯的再client中进行命令测试的话,会发现了当时间到时间后 再去获取该key会显示nil 那么一个key过期了...当然这个删除也不是简单的到期了就直接被删除了 redis中对于过期键的过期删除策略 定时删除 惰性删除 定期删除 定时删除 它会在设置键的过期时间的同时,创建一个定时器, 当键到了过期时间,定时器会立即对键进行删除...它不持续关注key的过期时间, 而是在获取key时,才会检查key是否过期,如果过期删除该key。简单来说就是:平时我不关注你,我用到你了,我才关注你在不在。...每次默认只会随机扫描20个key,同时删除这20个key中已经过期的key。 如果这20个key中过期key的比例达超过25%,则继续扫描。...,能不能百分百避免过期key没有被删除的情况?

2.4K30

redis手动删除过期key(redis过期键的删除策略)

惰性删除 放任过期键不管,每次从键空间中获取键时,检查该键是否过期,如果过期,就删除该键,如果没有过期,就返回该键。...定期删除 每隔一段时间,程序对数据库进行一次检查,删除里面的过期键,至于要删除哪些数据库的哪些过期键,则由算法决定。 其中定时删除和定期删除为主动删除策略,惰性删除为被动删除策略。...1.1 定时删除策略 定时删除策略通过使用定时器,定时删除策略可以保证过期键尽可能快地被删除,并释放过期键占用的内存。...1.2 惰性删除策略 惰性删除策略只会在获取键时才对键进行过期检查,不会在删除其它无关的过期键花费过多的CPU时间。...定期删除策略每隔一段时间执行一次删除过期键操作,并通过限制删除操作执行的时长和频率来减少删除操作对CPU时间的影响,同时,通过定期删除过期键,也有效地减少了因为过期键而带来的内存浪费。 2.

2.2K20

Redis 过期删除策略

先来介绍一下各种方案: ---- 定时删除: 在设置键的过期时间的同时,创建一个定时器(timer),让定时器在键的过期时间来临时,立即执行对键的删除操作.即从设置key的Expire开始,就启动一个定时器...,到时间就删除该key;这样会对内存比较友好,但浪费CPU资源 ---- 惰性删除:放任键过期不管,但是每次从键空间中获取键时,都检查取得的键是否过期,如果过期的话,就删除该键;如果没有过期,就返回该键...即平时不处理,在使用的时候,先检查该key是否已过期,已过期删除,否则不做处理;这样对CPU友好,但是浪费内存资源,并且如果一个key不再使用,那么它会一直存在于内存中,造成浪费 ---- 定期删除:...**每隔一段时间,程序就对数据库进行一次检查,删除里面的过期键。...至于要删除多少过期键,以及要检查多少个数据库,则由算法决定。

1.1K10

Redis 过期删除策略

Redis 中数据库键的过期时间都保存在过期字典中,当一个键过期了,Redis 存在三种不同的删除策略:定时删除、惰性删除和定期删除 定时删除 定义 在设置键的过期时间的同时创建一个计时器,让定时器在键过期时间来临时...定时删除策略对内存是最友好的:通过使用定时器,定时删除策略可以保证过期键会尽快被删除,并且释放过期键所占用的内存。...惰性删除 定义 放任过期键不管,但是每次从键空间中获取键时都检查取得的键是否过期,如果过期的话,就删除该键;如果没有过期则返回该键。...定期删除 定义 每隔一段时间,程序都会对数据库进行一次检查,删除里面的过期键。至于要删除多少过期键,以及要检查多少个数据库,则由算法决定。...通过定期删除过期键,定期删除策略有效减少了因为过期键而带来的内存浪费 但是定期删除策略的难点是确定删除操作执行的时长和频率: 如果删除操作执行太过频繁,或者执行的时间太长,定期删除策略就会退化成定时删除策略

67510

Redis过期key的删除策略

key的过期时间都保存在过期字典中,如果一个键过期了,那么redis什么时候会被删除呢?...,然后再进行当前命令的操作 (2)定期删除 每隔一段时间对数据库执行一次过期key检查,并通过对删除操作的执行时间和频率进行限制,来尽量减少对CPU的占用时间 定期删除有效降低了对内存的浪费,比较平衡的兼顾了...生成RDB文件时会检查key是否过期过期的直接过滤掉,不进行保存操作 (2)AOF方式 在每个命令执行时都会检查key是否过期,如果过期,会显示调用删除key的命令,所以此命令也会被写入AOF文件...(3)AOF重写 和RDB方式的处理过程一样,会先检查key是否过期,过滤掉过期的key 主从复制过程对过期key的处理 (1)master中按照正常的删除策略执行 (2)slave的过期key删除由主服务器控制...: master执行过期key删除操作后,显式向slave发送删除命令,slave在收到删除命令之前,对过期key不做删除,如果收到客户端的命令请求,正常执行命令,收到删除命令后才进行删除

1.5K70

PHPCMS文章置顶功能的解决方案

我个人喜欢把PHPCMS当作博客来用,而作为一个博客,怎能少了文章置顶功能呢?其中用PHPCMS实现置顶功能非常简单,无非是修改下推荐位的名称为置顶,然后在文章列表中推送需要置顶的文章罢了。...不过博客系统中置顶文章可不会与文章列表中的文章重复,要解决这个问题其实也不难,看代码 {pc:content action="lists" catid="1" num="20" where="posids...="id desc"} {loop $data $v} {$v['title']} {/loop} {/pc} 调用分类ID为1的文章列表...,并设置条件 posids 不等于 1 这样就实现了置顶文章文章列表的文章不重复的功能了。...凡是设置了推荐位的文章,不管你设置的推荐ID是1,2,还是3,在数据库中posids的值都会变成1,没有设置推荐的文章则为0,这下明白我为什么要那么做了吧!

1.2K20

redis的过期时间设置和过期删除机制「建议收藏」

ttl : ((ttl+500)/1000)); } } 五:过期键的删除策略 如果一个键是过期的,那它到了过期时间之后是不是马上就从内存中被被删除呢??...如果不是,那过期后到底什么时候被删除呢?? 其实有三种不同的删除策略: (1):立即删除。在设置键的过期时间时,创建一个回调事件,当过期时间达到时,由时间处理器自动执行键的删除操作。...(2):惰性删除。键过期了就过期了,不管。每次从dict字典中按key取值时,先检查此key是否已经过期,如果过期了就删除它,并返回nil,如果没过期,就返回键值。 (3):定时删除。...立即删除 立即删除能保证内存中数据的最大新鲜度,因为它保证过期键值会在过期后马上被删除,其所占用的内存也会随之释放。但是立即删除对cpu是最不友好的。...惰性删除 惰性删除是指,某个键值过期后,此键值不会马上被删除,而是等到下次被使用的时候,才会被检查到过期,此时才能得到删除。所以惰性删除的缺点很明显:浪费内存。

5K20
领券