Redis详解

菜鸟一枚,如果有不对的地方欢迎指出!

Redis简介

Redis是完全开源的,遵循BSD协议(BSD协议是可以自由使用源码修改代码再发布的一个协议),是一个高性能的key-value数据库.

redis和其他key-value缓存产品有一下三个特点:

1.redis支持数据的持久化,可以将内存中的数据保存在磁盘中。(memcache保存在内存中)

2.redis不仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。(memcache只支持key-value值,不过即使支持的数据类型再多,本质还是没有区别的)

3.redis支持数据的备份,即master-slave。(master-slave主仆模式:从一个Mysql instace【称之为Master】复制到另一个Mysql instance【称之Slave】)aof/快照恢复

4.单线程请求,所有的命令串执行,并发情况下不需要考虑数据的一致性问题.

5.执行pub/subscribe消息订阅机制,可以用来进行消息订阅与通知.

6.支持简单的事务需求,但业界使用场景很少,并不成熟。

redis的优势

1.性能极高 --- Redis能读的速度是110000次/s,写的速度是81000次每秒,所以redis读的速度远大于写的速度。

2.丰富的数据类型 ---Redis支持二进制案例的string,list,hash,sset及ordered ssets数据类型的操作。

3.原子性 ---Redis的索引操作都是原子性的,意思就是要买成功要买失败完全不执行。

4.丰富的特性 ---Redis还支持publish、subscribe等特性

php使用redis

安装redis扩展

$wget https://github.com/phpredis/phpredis/archive/3.1.4.tar.gz

$ cd phpredis-3.1.4 # 进入 phpredis 目录

$ /usr/local/php/bin/phpize # php安装后的路径

$ ./configure --with-php-config=/usr/local/php/bin/php-config

$ make && make install

修改php.ini文件

vi /usr/local/php/lib/php.ini

添加如下内容

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20090626"

extension=redis.so

重启php-fpm

连接redis服务器


   

//连接本地的 Redis 服务 

$redis = new Redis();  $redis->connect('127.0.0.1', 6379); 

echo "Connection to server sucessfully";        //查看服务是否运行 

echo "Server is running: " . $redis->ping();

?>

结果:Connection to server sucessfullyServer is running: PONG

redis php 字符串string实例

  //连接本地的 Redis 服务 

$redis = new Redis();  $redis->connect('127.0.0.1', 6379);

echo "Connection to server sucessfully";  //设置 redis 字符串数据 

$redis->set("tutorial-name", "Redis tutorial");  // 获取存储的数据并输出 

echo "Stored string in redis:: " . $redis->get("tutorial-name");

?>

执行结果:Connection to server sucessfullyStored string in redis:: Redis tutorial

redis list(列表)实例

$redis->lpush("tutorial-list", "Redis");//存储

$redis->lrange('tutorial-list');//输出

php keys实例

$arList = $redis->keys("*");

echo "Stored keys in redis:: ";

print_r($arList);

今天暂时就到这里....

你可能感兴趣的:(Redis详解)