生成稳定的递增id

最近有个项目数据库设计中需要用到分表, 假设记录文章的表,主键用一个id来标识文章的id。 由于各个表中的id不能重复,所以需要用一个外部的id生产程序。当然我们可以在数据库中单独新建一个表,利用表的自增属性来 生成这个id,但是这样子不够灵活。所以另外用python写了个生成id的程序。

      其中需要注意两点,

      1.要保证线程安全,所以变量递增的时候,必须添加锁。

      2.要保证该生成id的进程在被断电或意外强制结束(kill -9)后,下次重新启动的时候,再能从进程崩溃前的id继续递增,而不至于产生 以前产生过的id,就是说要保证内存中的数据实时的同步到硬盘。 第二点,python提供的anydbm模块或gdbm模块,其中打开文件的时候,有个s模式,即实时同步模式,能保证内存中的数据实时的同步到硬盘中。

 即使进程被被kill -9,数据也不会丢失。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值