菜鸟一枚,如果有不对的地方欢迎指出!
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服务器
<?php
//连接本地的 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实例
<?php
//连接本地的 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);
今天暂时就到这里....