redis队列例子详解

测试的时候我用的是Win环境,目前Redis官方是没有Redis环境安装包下载,但是庆幸的是微软有团队在维护Redis WinX64环境的版本,下面是下载网址:

Redis Windows环境下载:
https://github.com/MSOpenTech/redis/releases

下载直接执行redis-server.exe即可

还需要PHP-redis.dll的插件,下载复制到ext目录下,并且在php.ini增加一行:

extension=php_redis.dll

使用的代码非常简单,以下是一个简单的使用类,如果实用在正式环境中,可能要需要进行优化:

class RedisEx{

private $_redis = null;
private $_host = “127.0.0.1”;
private $_prot = 6379;

function __construct(){
self::_connect();
}

public function push($key,$val){
self::_connect();

if($key&&$val){
return $this->_redis->lPush($key,$val);
}
return null;
}

public function pop($key) {
self::_connect();

return $this->_redis->rPop($key);
}

private function _connect(){
if(!$this->_redis){
$this->_redis = new Redis();
$this->_redis->connect($this->_host,$this->_prot);
}
}
}

 

有了处理类,那么我们需要写一个操作代码:

<?php
/**
* http://test.com/1.php?a=POST&key=key1&val=a0000001//加入队列
* http://test.com/1.php?a=GET&key=key1//取出队列
* @var unknown
*/
$action = $_GET[‘a’];

$redisEx = new RedisEx();

if(strtoupper($action) == ‘POST’){
$key = $_GET[‘key’];
$val = $_GET[‘val’];

$res = $redisEx->push($key, $val);

echo $res;

}elseif (strtoupper($action) == ‘GET’){

$key = $_GET[‘key’];

$res = $redisEx->pop($key);

echo $res;
}

echo ‘succ';

 

php-redis中文参考手册

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

MySQL快速复制数据库的方法

今天要做网站的数据迁移,想到如果通过sql语句去恢复数据库的话特别麻烦,所以使用以下方法,可以非常简单地实现整个网站的数据库复制:

如果你想把当前网站的数据“blogdb”,想要重新复制一份,并重命名为“blogdb2”,要实现这个操作,非常简单,步骤如下:

  • 首先我们来创建一个新的数据库“blogdb2”;
[root@local ~]# mysql -uroot -p数据库密码
mysql> create database `blogdb2` default character set utf8 collate utf8_general_ci;//创建一个数据库
mysql> exit;//然后退出
  • 然后我们使用命令行,进行整库克隆;

[root@local ~]# mysqldump blogdb -uroot -p数据库密码 –add-drop-table | mysql blogdb2 -uroot -p数据库密码;

就这样简单的完成了

当然,如果是跨服务器复制的话,那么需要加入-h的参数:

[root@local ~]# mysqldump blogdb -uroot -p数据库密码 –add-drop-table | mysql -h znz.lanxinbase.com blogdb2 -uroot -p数据库密码;

这样就成功了,另外如果还要把旧的数据库删除的话,再执行一句sql语句:

mysql> drop database blogdb;

 

 

HTTP错误代码大全

200 (成功) 服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。
201 (已创建) 请求成功并且服务器创建了新的资源。
202 (已接受) 服务器已接受请求,但尚未处理。
203 (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。
204 (无内容) 服务器成功处理了请求,但没有返回任何内容。
205 (重置内容) 服务器成功处理了请求,但没有返回任何内容。
206 (部分内容) 服务器成功处理了部分 GET 请求。

Quantum Espresso 安装步骤

首先确保你电脑安装了gfortran和mpi文件
1.编译前先安装gfortran
sudo apt-get install build-essential gcc gfortran

然后自动配置
$ ./configure

然后编译
$ make all

2.并行编译
先安装并行编译器和并行编译库openmpi,
sudo apt-get install openmpi-bin
然后
$ ./configure
$ make all

3.编译测试QE
把QE文件夹拷到home下,然后执行下面的语句。其中需要一些相关的附件文件夹,已经在QE压缩包里了,可以直接用。

cd QE/
ls
cd espresso-5.0.1/
ls
./configure -enable-mpi=yes
make install
make all

过上十几分钟基本上就可以进行测试成功了。

191011121324
 
Copyright © 2008-2021 lanxinbase.com Rights Reserved. | 粤ICP备14086738号-3 |