悲观锁、乐观锁、MySQL和Redis
这个话题算是很多了,关键字:“悲观锁”,“乐观锁”,“Pessimistic and optimistic locking”,相关文章一搜一大把,这里我也懒得再写一遍,关于原理复制粘贴就差不多了,重点是自己做了一遍测试,深切的体会了不同锁的区别。
这个话题算是很多了,关键字:“悲观锁”,“乐观锁”,“Pessimistic and optimistic locking”,相关文章一搜一大把,这里我也懒得再写一遍,关于原理复制粘贴就差不多了,重点是自己做了一遍测试,深切的体会了不同锁的区别。
由于Redis命令方式运算能力比较薄弱,所以往往采用Redis Lua去代替它原有的命令方式。Redis Lua在Redis的执行中是具备原子性的,当它被执行时不会被其他客户端发送过来的命令打断,通过这样一种机制可以在需要高并发的环境下考虑使用Redis去代替数据库。如果只是单纯的使用脚本其实不能debug也不所谓,直接print也能解决大部分问题了,但Lua作为嵌入式语言,一旦被集成到其他环境中调试起来就比较麻烦了。这里我也是摸索了一会才用起来,记录下。
这也应该是个很常见的需求了,找了点文章试了下,还是很简单的。
准备拿这台破机器干点别的事,发现默认源的mariadb有点老,有些命令不支持,于是打算升下级,查了下,从5.5升到10.3虽然理论上没什么问题,但是还是建议采取先备份数据库再卸载旧的,安装新的这种方式,毕竟跨度过大。然而我这种懒癌晚期的人,呵,不要说了,就是刚(误,正式环境请千万别学我)。
最近在做微信的公众号开发,一些表需要保存URL信息,建表的时候我在犹豫,到底是TEXT还是VARCHAR,如果是VARCHAR长度又是多少?