失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > MySQL触发器自动更新memcache[原创]

MySQL触发器自动更新memcache[原创]

时间:2019-05-19 10:38:06

相关推荐

MySQL触发器自动更新memcache[原创]

数据库|mysql教程

MySQL,触发器,自动,更新,memcache,原创,原贴

数据库-mysql教程

qq注册界面app 源码,怎么用vscode配置c,ubuntu 写保护,tomcat并发内存cpu,梦到爬虫满身,php检测客户端,鹤壁山城区seo优化,博客网站源码,精美手机网站模板lzw

原贴:/archives/78 MySQL触发器自动更新memcache[原创] Posted by admin 十一月 4, 今天看了MYSQL官方网站,发现这个UDFs,UDFs 是 User Defined Functions 的缩写,指 Mysql的用户定义函数,应用可以通过使用这些函数从 Mysql5.0

约爱网站源码,vscode演示模式,ubuntu 凤凰,关闭tomcat 端口,sqlite 更新插入优化,dz3.2采集插件,ssh框架获取不到前端数据,python爬虫自动问答系统,php聊天机器人,辽宁seo站内优化,大气网站背景,网页模板 动态数据,discuz免费门户模板lzw

.net 微信商店源码,ubuntu硬盘温度99,多服务器用一个tomcat,梦见奇怪的爬虫,水电费预付费系统 php,seo付费吗lzw

原贴:/archives/78

MySQL触发器自动更新memcache[原创]

Posted by admin

十一月 4,

今天看了MYSQL官方网站,发现这个UDFs,UDFs 是 User Defined Functions 的缩写,指 Mysql

的用户定义函数,应用可以通过使用这些函数从 Mysql5.0 以上版本的数据库中访问 Memcached 写入或者获得数据。此外,从

Mysql5.1 开始支持触发器,这样就可以在触发器中使用 UDFs 直接更新 Memcached

的内容,减轻了应用程序设计和编写的复杂性。下面我们简要介绍 UDFs 的安装和使用:

1、安装Libmemcached(memcached的客户端C API)

下载地址:/

# ./configure –prefix=/usr && make && make install

注意:请安装在/usr下,不然后面安装memcached_functions_mysql的时候找不到,还要指定PKG_CONFIG_PATH,麻烦。

2、安装memcached_functions_mysql

下载地址:/

# ./configure –with-mysql=/usr/local/mysql/bin/mysql_config

安装完成之后,需要将 libmemcached_functions_mysql 的库文件拷贝到 mysql/lib 目录下的 plugin 目录中。

# cp /usr/local/lib/libmemcached_functions_mysql* /usr/local/mysql/lib/plugin/.

# shell> mysql <sql/install_functions.sql

3、触发器实现

定义memcached服务器

mysql> SELECT memc_servers_set(’192.168.0.1:11211,192.168.0.2:11211′);

创建测试表:

mysql> create table test3 (

-> id int(3) not null,

-> name varchar(64) not null default ”,

-> primary key (id)

-> );

创建触发器

mysql>DELIMITER |

->CREATE TRIGGER test3_insert

->BEFORE INSERT ON test3

->FOR EACH ROW BEGIN

->SET @mm = memc_set(concat(’id:’,NEW.id), NEW.name);

->END |

可以参见官方网站:/doc/refman/5.1/en/ha-memcached-interfaces-mysqludf.html

后记:我觉得它的应用场景应该是写操作不太频繁,但查询量非常大的网站,memcache不超时的缓存数据库的数据,当数据库发生更改的时候,利用

mysql的insert,update,delete触发器来更改memcached服务器的数据。但mysql的操作数据类型不支持数

组,memc_set应该也不支持对象或者数组等数据类型。实现起来有点难度。

续记:MYSQL UDF OF JSON

基于以上的试用感想,我认为应该有UDF可以将数据行转成json格式的数据,这样就真的可以实现前端不用访问数据库的想法了,GOOGLE真是个好

东西,google后还真找到了:UDF Repository for

MySQL,外国人真是有开源精神:),这是一个MYSQLUDF库的网站,我在里面找到for json的udf。

下载地址:/lib_mysqludf_json/lib_mysqludf_json_0.0.2.tar.gz

安装:

# mkdir udf_of_json

# cd udf_of_json

# wget /lib_mysqludf_json/lib_mysqludf_json_0.0.2.tar.gz

# tar zxvf lib_mysqludf_json_0.0.2.tar.gz

# cp ./lib_mysqludf_json.so /usr/local/mysql/lib/plugin/.

# mysql -u root

mysql> source ./ lib_mysqludf_json.sql

测试:

DELIMITER ||

CREATE TRIGGER user_insert

AFTER INSERT ON users

FOR EACH ROW BEGIN

SELECT

json_array(username,user_type,real_name,password,active,last_login,description)

into @user_info FROM users where user_id=NEW.user_id;

SET @mm= memc_set(concat(’user_info_’,NEW.user_id), @user_info);

END ||

它还支持中文真是让人很欣喜,但不支持多行集,如果我用存储过程或者自定义函数自己写一个呢。研究中。。。。

Cache, Mysql

If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.

Comments

还没有任何评论。

如果觉得《MySQL触发器自动更新memcache[原创]》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。