首頁 後端開發 php教程 用mysql触发器自动更新memcache的实现代码_PHP

用mysql触发器自动更新memcache的实现代码_PHP

Jun 01, 2016 pm 12:22 PM
memcache mysql觸發器

memcache

mysql 5.1支持触发器以及自定义函数接口(UDF)的特性,如果配合libmemcache以及Memcached Functions for MySQL,就能够实现memcache的自动更新。简单记录一下安装测试步骤。

安装步骤

  • 安装memcached,这个步骤很简单,随处可见
  • 安装mysql server 5.1RC,安装办法也很大众,不废话了
  • 编译libmemcached,解压后安装即可
    <font face="新宋体" color="#666666" size="3">./configure; make; make install</font>
  • 编译Memcached Functions for MySQL,在http://download.tangent.org/找一个最新的版本下载就是,
    <font face="新宋体" color="#666666" size="3">./configure --with-mysql=/usr/local/mysql/bin/mysql_config --libdir=/usr/local/mysql/lib/mysql/<br>make<br>make install</font>
    接下来有两个办法让Memcached Functions for MySQL在mysql中生效

     

  • 在mysql的shell中执行memcached_functions_mysql源码目录下的sql/install_functions.sql,这会把memcache function作为UDF加入mysql
  • 运行memcached_functions_mysql源码目录下的utils/install.pl,这是一个perl脚本,作用同上一条


测试memcache function
以下测试脚本摘自memcached_functions_mysql的源码目录,有兴趣可以试试

drop table if exists urls;
create table urls (
  id int(3) not null,
  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 BEGIN
    SET NEW.id= memc_increment('urls:sequence');
    SET @mm= memc_set(concat('urls:',NEW.id), NEW.url);
END
DELIMITER ;
insert into urls (url) values ('http://google.com');
insert into urls (url) values ('http://www.ooso.net/index.php');
insert into urls (url) values ('http://www.ooso.net/');
insert into urls (url) values ('http://slashdot.org');
insert into urls (url) values ('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');
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1663
14
CakePHP 教程
1420
52
Laravel 教程
1313
25
PHP教程
1266
29
C# 教程
1239
24
如何使用PHP開發中的Memcache? 如何使用PHP開發中的Memcache? Nov 07, 2023 pm 12:49 PM

在Web開發中,我們經常需要使用快取技術來提高網站的效能和回應速度。 Memcache是​​一種流行的快取技術,它可以快取任何資料類型、支援高並發和高可用性。本文將介紹如何使用PHP開發中的Memcache,並提供具體程式碼範例。一、安裝Memcache要使用Memcache,我們首先需要在伺服器上安裝Memcache擴充。在CentOS作業系統中,可以使用以下命令

如何在MySQL觸發器中使用參數 如何在MySQL觸發器中使用參數 Mar 16, 2024 pm 12:21 PM

如何在MySQL觸發器中使用參數,需要具體程式碼範例MySQL是一種流行的關係型資料庫管理系統,它支援觸發器來監控表中資料的變化並執行相應的操作。觸發器可在INSERT、UPDATE或DELETE操作發生時觸發,是一種強大的資料庫功能,可用於實現資料約束、日誌記錄、資料同步等需求。在MySQL中,觸發器可以使用參數來傳遞數據,透過參數可以靈活地自訂觸發器的

PHP開發中如何使用Memcache進行高效率的資料寫入與查詢? PHP開發中如何使用Memcache進行高效率的資料寫入與查詢? Nov 07, 2023 pm 01:36 PM

PHP開發中如何使用Memcache進行高效率的資料寫入與查詢?隨著網路應用的不斷發展,對於系統效能的要求越來越高。在PHP開發中,為了提高系統的效能和反應速度,我們經常使用各種快取技術。而其中一個常用的快取技術就是Memcache。 Memcache是​​一種高效能的分散式記憶體物件快取系統,可以用來快取資料庫查詢結果、頁面片段、會話資料等。透過將資料儲存在內存

PHP開發中如何使用Memcache進行高效率的資料讀寫操作? PHP開發中如何使用Memcache進行高效率的資料讀寫操作? Nov 07, 2023 pm 03:48 PM

在PHP開發中,使用Memcache快取系統可以大幅提高資料讀寫的效率。 Memcache是​​一種基於記憶體的快取系統,它可以將資料緩存在記憶體中,避免頻繁的讀寫資料庫。本文將介紹如何在PHP中使用Memcache進行高效率的資料讀寫操作,並提供具體的程式碼範例。一、安裝和設定Memcache首先,需要在伺服器上安裝Memcache擴充。可以透過

Memcache快取技術在PHP中優化資料互動的實踐與思考 Memcache快取技術在PHP中優化資料互動的實踐與思考 May 17, 2023 pm 09:51 PM

Memcache快取技術在PHP中優化資料互動的實踐和思考在現代的Web應用中,資料互動是一個非常重要的問題,它沒有足夠的高效性,將會限制Web應用程式的擴展性和效能。為了加快資料互動速度,我們通常的做法是優化資料庫的設計、提高硬體的效能和增加伺服器容量。但是,這些方法都有一個共同的限制:它們會增加系統的成本。最近幾年,Memcache技術在解決這個問題上提

MySQL中的資料觸發技巧 MySQL中的資料觸發技巧 Jun 15, 2023 am 11:40 AM

MySQL是一個廣泛使用的關聯式資料庫管理系統,它支援許多不同的操作和功能。其中之一就是資料觸發技巧,它可以透過在資料庫中定義觸發器,來監控和處理資料的變化。本文將介紹MySQL中資料觸發技巧的基本原理、用法和實例。一、資料觸發器的基本原理MySQL中的資料觸發器是一種特殊類型的預存過程,可以在資料庫中定義和執行。它是與表緊密關聯的,當指定的事件(如插入、更

Memcache快取技術在PHP專案的應用與實踐 Memcache快取技術在PHP專案的應用與實踐 May 17, 2023 pm 02:10 PM

Memcache是​​一種開源的、分散式的快取技術。它透過將資料儲存在記憶體中,大大提高了資料的存取速度,從而提升了網站的效能和反應速度。在PHP專案中,Memcache快取技術也被廣泛應用,並且取得了很好的效果。本篇文章將深入探討Memcache快取技術在PHP專案的應用與實務。一、Memcache的原理和優勢Memcache是​​一種記憶體快取技術,它可以將數據

利用Memcache快取技術提升PHP應用的同時處理能力 利用Memcache快取技術提升PHP應用的同時處理能力 May 18, 2023 am 08:12 AM

隨著網路的快速發展,越來越多的應用程式需要面對大量的並發請求,如何提高應用程式的並發處理能力成為開發者需要解決的問題。其中,利用Memcache快取技術進行並發優化成為了相對較受歡迎的方案。 Memcache是​​一種高效能的快取技術,適用於大型Web應用程式、資料庫和分散式系統。其特點是將資料儲存於記憶體中,以實現高速讀寫操作。在網路應用程式的資料存取過程中,

See all articles