2019独角兽企业重金招聘Python工程师标准>>>

一.安装wget https://launchpad.net/libmemcached/1.0/0.34/+download/libmemcached-0.34.tar.gz
yum install gcc44 gcc44-c++ libstdc++44-devel
export CC=/usr/bin/gcc44
export CXX=/usr/bin/g++44
./configure --prefix=/soft/libmemcached -disable-64bit CFLAGS="-O3 -march=i686" \
--with-memcached=/root/libmemcached-1.0.7/memcached
make && make installwget https://launchpad.net/memcached-udfs/trunk/1.1/+download/memcached_functions_mysql-1.1.tar.gz
./configure --prefix=/soft/UDFS/memcache_mysql \
--with-mysql=/soft/mysql/bin/mysql_config \
--libdir=/soft/mysql/lib/plugin \
--with-libmemcached=/soft/UDFS/libmemcached
make && make install
mysql -uroot -pmysql < /sql/install_functions.sql
mysql -uroot -pmysql -se "select name,dl from mysql.func"select memc_servers_set('127.0.0.1:11211');//如果mysql restart,需要重新运行这句以建立与memcached之间的关系
select memc_server_count();
select memc_set('urls:sequence', 0);select memc_list_behaviors()\G//修改memcached参数的行为select memc_servers_behavior_set('MEMCACHED_BEHAVIOR_NO_BLOCK','1');
selectmemc_servers_behavior_set('MEMCACHED_BEHAVIOR_TCP_NODELAY','1');
//设置MEMCACHED_BEHAVIOR_NO_BLOCK为打开状态,这样在memcached出现问题时(不能连接时)数据继续插入到
mysql中,报错提示,如果不设置此值,如果memcached失败,mysql需要等到timeout才可以插入到表中。二.测试:
drop table if exists urls;
create table urls (id int(3) not null auto_increment,url varchar(64) not null default '',primary key (id));select memc_servers_set('localhost:11211');
select memc_set('urls:sequence', 0);DELIMITER |DROP TRIGGER IF EXISTS url_mem_insert |
CREATE TRIGGER url_mem_insert
BEFORE INSERT ON urls
FOR EACH ROW BEGINSET NEW.id= memc_increment('urls:sequence'); SET @mm= memc_set(NEW.id, NEW.url);
END |DROP TRIGGER IF EXISTS url_mem_update |
CREATE TRIGGER url_mem_update
BEFORE UPDATE ON urls
FOR EACH ROW BEGINSET @mm= memc_replace(OLD.id, NEW.url);
END |DROP TRIGGER IF EXISTS url_mem_delete |
CREATE TRIGGER url_mem_delete
BEFORE DELETE ON urls
FOR EACH ROW BEGINSET @mm= memc_delete(OLD.id);
END |DELIMITER ;insert into urls (url) value ('http://google.com');
insert into urls (url) value ('http://lycos.com/');
insert into urls (url) value ('http://tripod.com/');
insert into urls (url) value ('http://microsoft.com/');
insert into urls (url) value('http://slashdot.org');
insert into urls (url) value ('http://mysql.com');
select * from urls;select memc_get('urls:1');
select memc_get('urls:2');
select memc_get('urls:3');
select memc_get('urls:4');
select memc_get('urls:5');
select memc_get('urls:6');update urls set url= 'http://mysql.com/sun' where url = 'http://mysql.com';
select url from urls where url = 'http://mysql.com/sun';
select memc_get('urls:6');delete from urls where url = 'http://microsoft.com/';
select * from urls where url='http://microsoft.com/';
select memc_get('urls:4');

转载于:https://my.oschina.net/u/1449160/blog/198863

UDFs实现Memcached与Mysql的自动更新相关推荐

  1. mysql timestamp 更新_[mysql] timestamp自动更新和初始化

    1.概述 在我们设计表的时候,考虑将行数据的创建时间和最后更新时间记录下来是很好的实践.尤其是可能需要做数据同步或者对数据新鲜度有要求的表.举些应用场景,更新距上次更新超过2小时的行数据,或者是将一个 ...

  2. mysql timestamp 自动更新_mysql timestamp自动更新

    最近遇到timestamp的自动更新时间问题,记录如下: 先看mysql官方手册(翻译稿): 在CREATE TABLE语句中,可以用下面的任何一种方式声明第1个TIMESTAMP列: 1.用DEFA ...

  3. mysql库存自动更新_秒杀库存需不需要实时更新到mysql?

    秒杀系统, 小库存场景,瞬间抢购完成的case,譬如iphone 11 上亿人抢一个,可通过使用事务 的悲观锁的实现(为了降低并发冲突,可对于事务内要读取且后续要基于此做更新的select语句 + f ...

  4. memcache如何更新mysql_使用MySQL触发器如何实现memcache自动更新

    MySQL 5.1支持触发器以及自定义函数接口(UDF)的特性,如果配合libmemcache以及Memcached Functions for MySQL,就能够实现memcache的自动更新.简单 ...

  5. mysql 数据表 时间自动_MySQL数据库时间设置自动添加时间和自动更新时间

    MySQL字段中设置时间字段自动添加创建时间和自动更新时间设置, 设置字段类型为:timestamp 默认值设置为current_timestamp(), 更新时间字段字段类型为:timestamp ...

  6. mysql tomcat 自动重连_基于tomcat+mysql的c/s模式下的系统自动更新

    产品化的系统免不了要实现的就是系统的自动更新,下边讲讲我在工作中实现的win下的产品自动更新. 自动更新步骤: 1.本地系统版本与服务器最新版本比对. 2.发现更新版本后进行升级版下载. 3.关闭应用 ...

  7. mysql timestamp 转型_MySQL的timestamp类型自动更新问题【转】

    今天建了一个表,里面有一个列是timestamp类型,我本意是在数据更新时,这个字段的时间能自动更新.岂知对这个类型的值还不甚了解,导致出错.发现这个字段只是在这行数据建立的时候有值,在更新的却无变化 ...

  8. MySQL的timestamp类型自动更新问题

    今天建了一个表,里面有一个列是timestamp类型,我本意是在数据更新时,这个字段的时间能自动更新.岂知对这个类型的值还不甚了解,导致出错.发现这个字段只是在这行数据建立的时候有值,在更新的却无变化 ...

  9. 向mysql中添加更新时间_mysql 实现添加时间自动添加更新时间自动更新操作

    在数据库使用中经常使用到时间字段.常用的有创建时间和更新时间. 然而在使用中想要创建时间在创建的时候自动设置为当前时间,更新时间在更新时自动更新为当前时间. 创建表 stu CREATE TABLE ...

最新文章

  1. Python中metaclass解释
  2. 禁用win10触摸屏手势_我才发现win10居然有这么多好用的功能
  3. boost::hana::replace_if用法的测试程序
  4. ITK:布雷森汉姆线BresenhamLine
  5. linux进程查看所有线程,Linux中查看进程的多线程的方法
  6. linux解决windows应用程序,关于Linux下使用Windows应用程序的尝试总结
  7. Asymptote 学习记录(2):例子阅读
  8. MySQL 的 IFNULL()、ISNULL() 、 NULLIF()、IF() 函数
  9. Android应用程序管理系列(四)—— packagemanager flags 与 packageInfo 
  10. apply和call的区别
  11. demo 网络运维_【运维面试】面试官:你们公司的docker主要用来做啥?
  12. XSRF(XSS+CSRF)
  13. 作业调度之先来先服务算法C语言实现
  14. 小程序中集成赞赏功能
  15. 顺丰旗下丰鸟无人机高薪诚聘海内外英才
  16. Python爬虫之从网站图片中抓取文字
  17. 读书笔记:《谁说菜鸟不会数据分析-入门篇》第1-4章
  18. python unpacking_Python解包(Unpacking)
  19. 《敬告青年》陈独秀《新青年》杂志发刊词
  20. Medium之1421.净现值查询

热门文章

  1. Lombok — Java代码自动生成 开发利器
  2. Rating Methodology – Bank Loan / Facility Rating(CRISL)
  3. 非关语言: 设计模式
  4. Java数据结构——2-3树
  5. Jmeter入门3 http请求—content-type与参数
  6. Android根据URL下载文件保存到SD卡
  7. 生成EXCEL文件是经常需要用到的功能,我们利用一些开源库可以很容易实现这个功能。...
  8. 守卫者的挑战(guard)
  9. WannaCry勒索软件还在继续传播和感染中
  10. jenkins之从0到1利用Git和Ant插件打war包并自动部署到tomcat(第二话):安装插件,配置JDK、Git、Ant...