PHP操作redis有两种主流的方式:pecl扩展phpredis,php 原生类predis。两种方式,大多数时候的操作都没有太大差别,这里以predis 为例来讲解。
Redis支持五种数据类型:string(字符串),set(集合),zset(sorted set:有序集合),list(列表),hash(哈希);这些类型都是二进制安全的,意思是可以包含任何数据。比如jpg图片或者序列化的对象。
* * * * *
## String(字符串)
string是redis最基本的类型,与 Memcache用法类似,**但是只可以存字符串,不像Memcache可以随意存**。
![](https://box.kancloud.cn/d82f3e4bf1f2ca71a3622109b15bfff3_252x204.png)
## Set(集合)
Set是string类型的无序集合,不允许重复元素。
需要存一组数据时使用。
![](https://box.kancloud.cn/1d7838909280107d7fa2cdc37cdc7c85_250x192.png)
## zset(sorted set:有序集合)
zset比set多一个分数(score)的感念,用来对元素排序。zset元素也是唯一的,不过分数(score)却可以重复。
需要存一组数据,且需要排序时使用。
![](https://box.kancloud.cn/348d4a35fda42e31580807ed90dfd3cf_242x194.png)
## List(列表)
按照插入顺序排序存储,允许重复。
需要列表场景时使用。
![](https://box.kancloud.cn/c197654fcbc2567ca45c6a36e2128107_244x195.png)
## Hash(哈希)
hash是一个string类型的field和value的映射表,或者说是键值对集合。
需要存一组数据,且需要索引这组数据的每个元素时使用(就是能很容易找到每个元素)。
![](https://box.kancloud.cn/eb0ffcd0f016f0ec94ccf085236726bc_249x196.png)