首先要明白redis是一个数据库,是一个key-value型的数据库,redis是一个内存数据库,所有数据基本上都存在于内存当中,会定时以追加或者快照的方式刷新到硬盘中。
这里有2层含义:
1.单台Redis能存放多少数据,取决于其内存的大小(假设所有内存都给Redis用)。如果需要存放更多数据,可以增加内存或做集群。
2.Redis支持将数据持久化到磁盘中。但是,不会直接对磁盘进行读写。这种持久化,一般是用于在服务器重启时,先把数据持久化,重启后再从磁盘中读取到内存。
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
基于unbutun安装
1 安装redis-server: sudo apt-get install redis-server
2 安装PHP redis 扩展: 笔者使用 pecl install redis 安装成功了
3 安装完之后就可以在 php.ini文件中, 添加引用外部镜像文件 extension=redis.so
PS:https://github.com/nrk/predis 是一个原生的PHP代码实现的一套Redis-client程序,可以不用安装任何扩展,只引入php代码就可以很方便的使用redis。
require "./lib/predis-1.1/autoload.php";
$client = new Predis\Client([ 'scheme' => 'tcp', 'host' => '127.0.0.1', 'port' => 6379, ]);
$client->set('a', 'a-value');// 设置1个string
$client->get('a');// 读取1个string
具体使用请参考相应文档
最后说下 redis 和 memcached 的区别
对于 redis 和 memcached 我总结了下面四点。现在公司一般都是用 redis 来实现缓存,而且 redis 自身也越来越强大了!
1、redis支持更丰富的数据类型(支持更复杂的应用场景):Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。memcache支持简单的数据类型,String。
2、Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用,而Memecache把数据全部存在内存之中。
3、集群模式:memcached没有原生的集群模式,需要依靠客户端来实现往集群中分片写入数据;但是 redis 目前是原生支持 cluster 模式的.
4、Memcached是多线程,非阻塞IO复用的网络模型;Redis使用单线程的多路 IO 复用模型。
本文暂时没有评论,来添加一个吧(●'◡'●)