一、Redis install on windows
Download URL:
http://code.google.com/p/servicestack/wiki/RedisWindowsDownload
or http://pan.baidu.com/netdisk/singlepublic?fid=305055_2334233736
There are some files as below after unzip it;
redis-server.exe:服务程序
redis-check-dump.exe:本地数据库检查
redis-check-aof.exe:更新日志检查
redis-benchmark.exe:性能测试,用以模拟同时由N个客户端发送M个 SETs/GETs 查询
运行需要redis的配置文件redis.conf,如没有指定,则使用默认设置
开始运行redis:
解压目录:\>redis-server.exe redis.conf
运行一个客户端连接:
解压目录:\>redis-cli.exe -h 127.0.0.1 -p 6379
测试一下:
$ ./redis-cli set mykey somevalue
OK
$ ./redis-cli get mykey
somevalue
测试一下性能:
D:\redis>redis-benchmark.exe -h 127.0.0.1 -p 6379 -n 100000 -c 50
至此安装完毕,在客户端里面可以运行各种测试
一个redis的管理工具:phpRedisAdmin(需要安装php的redis扩展)
https://github.com/ErikDubbelboer/phpRedisAdmin
二、安装PHP的redis扩展
在windows下安装php的redis扩展非常简单,下载一个.dll扩展包放到php的ext目录下,在php.ini里边添加一行配置就可以了.
这里提供php5.3版本的redis的php扩展压缩包(里面有个dll):https://github.com/nicolasff/phpredis/downloads
解压后把dll放到php的ext目录下,打开php.ini,增加一行:
extension=php_redis.dll
然后,重启apache或者nginx或者IIS就可以了.
三、PHP操作redis的简单测试
确认我们已经做好了以下几个步骤:
1. 我们已经安装了redis,并且用`redis-server.exe redis.conf`命令启动了redis服务器
2. 我们已经下载了php_redis.dll拷贝到了php的ext目录,并且在php.ini中添加了一行:”extension=php_redis.dll",然后重启了WEB服务器
运行下面的代码:
<?php
echo 'phpredis sample:<br />';
error_reporting(E_ALL);
ini_set('display_errors','ON');
//已经启用了php-redis扩展,因此这里可以直接使用Redis对象了
$redis = new Redis();
//进行连接
$redis->connect('127.0.0.1',6379);
//这里开始使用redis的功能,就是设置一下
$redis->set('name1', 'www.51projob.com');
$redis->set('name2', 'www.crazyant.com');
echo "通过get方法获取到键的值:<br>"
.$redis->get('name1')."<br>"
.$redis->get('name2');
?>
phpredis, 其实获得了$redis对象,你就可以任意的执行所有的redis命令,这些包括官方redis手册的所有命令:官方手册
四、redis+mysql实现缓存写入的简单尝试
r
edis适用于缓存的,这里可以类似内存与磁盘的写回关系:以下是一个投票程序对redis的测试,当投票数到了50的时候,就可以将其写入到mysql:
<?php
//获取投票的信息的ID
$aid = isset($_GET['aid']) ? ereg_replace("[^0-9]", "", $_GET['aid']) : 0;
//当前投票的数字,指的是在redis中的数据
$this_click_num = 0;
if($aid>2){
//设定写回的投票数的最大值,到了此值就写回mysql
$update_till_num = 50;
//创建redis对象
$r = new Redis();
$r->connect('127.0.0.1',6379);
//得到现在是第几个数据了
$this_click_num = $r->get('count_xin_newgame:'.$aid);
//点击数加1
$r->set('count_xin_newgame:'.$aid,$this_click_num+1);
if($this_click_num>=$update_till_num)
{
//如果点击数超过了设定数,那么就把数据写到mysql
if($this_click_num>$update_till_num)
require_once(dirname(__FILE__)."/db.php");
//更新数据库
$db->ExecuteNoneQuery(
"UPDATE `addonnewgame`
SET `game_num` = game_num + '{$update_till_num}'
WHERE `dede_addonnewgame`.`aid` ={$aid};"
);
//重置投票数目为0
$r->set('count_xin_newgame:'.$aid,0);
}
$r->setTimeout('count_xin_newgame:'.$aid,7*24*60*60);
exit($this_click_num);
}
?>
这里没有找到php-redis扩展的文档,官方的文档是一个php_redis.php的头文件, https://github.com/ukko/phpredis-phpdoc
我们只要把该php下载下来放到自己的项目里面,那么写代码的时候,可以直接看到注释了, 可以这样来设置一下eclipse:
Setup in IDE
Right click your project -> “Properties”
Select the “PHP Include Path” category
Click “Add Folder…”
Select your checkout of phpredis-phpdoc
Click “Open”
Click “OK”
- 浏览: 326008 次
- 性别:
- 来自: 上海
最新评论
-
bu123dian:
都没有中文了么?英文看起来真的比较费劲
JIRA Git Plugin -
haohappy2:
We can call it dynamic content ...
Varnish and Nginx -
spidersea:
文中提到“利用 Varnish cache 减少了90%的数据 ...
Varnish and Nginx
相关推荐
how to use redis-cli, the default Redis command-line interface. It also shows you how to install Node.js and goes through a quick JavaScript syntax reference. The String, List, and Hash data types are...
Next, you will learn how to extend Redis with Lua, get to know security techniques such as basic authorization, firewall rules, and SSL encryption, and discover how to use Twemproxy, Redis Sentinel, ...
It's free, open source, and easy to utilize from most standard programming languages., Redis in Action introduces Redis and walks you through examples that demonstrate how to use it effectively....
Next, you will learn how to extend Redis with Lua, get to know security techniques such as basic authorization, firewall rules, and SSL encryption, and discover how to use Twemproxy, Redis Sentinel, ...
-slots 2048Then you can use "redis-trib.rb reshard --yes --from e1a4ba9922555bfc961f987213e3d4e6659c9316 --to 785862477453bc6b91765ffba0b5bc803052d70a --slots 2048 127.0.0.1:34501" to rebalance the ...
Chapter 3, Creating Custom Corpora, covers how to use corpus readers and create custom corpora. At the same time, it explains how to use the existing corpus data that comes with NLTK. Chapter 4, ...
列表的通用场景(Common use cases) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 上限列表(Capped) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....
You will learn and integrate these messaging APIs with more complex enterprise and cloud applications: for example, you will see how to use Spring Cloud Stream for creating message-driven and cloud ...
列表的通用场景(Common use cases) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 上限列表(Capped) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....
第二篇文章描述了当前版本的性能改进: ://big-elephants.com/2013-10/tuning-redismq-how-to-use-redis-in-go/ 不是什么 它不是可以用作消息队列的独立服务器,至少目前还不能使用。 该实现完全是在客户端完成的。...
How to use the right point of view when approaching a Node.js design problem. You will learn, for example, how different traditional design patterns look in Node.js, or how to design modules that do ...
/ DO NOT USE THIS IN PRODUCTION APPLICATION. 这是一个 Demo,介绍一种在 Flask 大型程序结构中使用 Celery 的方式。 欢迎大家测试、提出意见。 环境准备/Preparation 推荐版本: Python 3.6+; Flask 1.0.2; ...
Use Django with other technologies such as Redis, Celery and Solr. Develop pluggable Django applications Create advanced features, optimize your code and use the cache framework Add ...
2. 分布式存储:对于大型应用或高可用性环境,通常使用分布式存储,如Redis或SQL Server。这需要安装对应的NuGet包,配置服务和中间件,然后设置存储提供者。 使用会话状态时,可以在控制器或视图中通过`...
开发者可以使用不同的缓存提供者来实现这个接口,例如Redis或Microsoft SQL Server。这个源代码演示可能包含了如何配置和使用这些缓存提供者的实例。 分布式缓存的优势在于,它允许你在多个服务器之间共享数据,...
Learn to use Apache Storm and the Python Petrel library to build distributed applications that process large streams of data Explore sample applications in real-time and analyze them in the popular ...