1、首先下载redis进行安装,安装教程百度。
2、然后启动redis,可能会启动失败(你需要手动在redis-server.exe的所在目录建立一个子目录Logs,然后在次启动服务,一切就会正常了)。
3、配置PHP扩展,首先需要打开phpinfo,根据PHP版本号,编译器版本号和CPU架构,找到相应的redis版本(一定要相同)
4、根据php判断是否为线程安全和非线程安全的,(查看PHPINFO中的Thread Safety,如果是:enabled,一般来说应该是ts版,否则是nts版)。
5、redis需要安装两个扩展php_igbinary.dll和php_redis.dll,根据是否为线程安全判断下载哪个扩展包,下载地址redis的VC11线程安全和非线程安全的下载地址(http://windows.php.net/downloads/pecl/releases/redis/2.2.7/php_redis-2.2.7-5.6-nts-vc11-x64.zip和http://windows.php.net/downloads/pecl/releases/redis/2.2.7/php_redis-2.2.7-5.6-ts-vc11-x64.zip),igbinary的下载地址有各个版本的和线程安全和非线程安全的版本http://windows.php.net/downloads/pecl/releases/igbinary/1.2.1/
6、然后就可以用了
redis的使用
1、redis数据类型
string 类型 可以是字符串,整数,浮点,都统称为元素 string操作包括对字符串的操作,对整数类型的加减
list类型 一个有序的序列,且每个节点都包好了一个元素,list的操作包括序列的两端推入,或弹出元素 修剪、查找或移除元素(实现队列)
set类型 各不相同的元素(元素是唯一的),set的操作包括从集合中插入或删除元素
hash类型 是由多个key-value组成的散列组,key一定是字符串,value是元素,hash的操作是按照key进行增加,删除等操作(key必须是唯一的)
sort set类型 是带分数的score-value的有序集合,其中score为浮点,value为元素,集合插入,按照分数进行范围查找
1)、string类型操作
key=>value
set key value
get key
当value为一个整型的时候,incr key 是对key对应的value进行加一操作, incrby key num 是对key对应的value进行加上num的操作(进行加法操作),decr key 是对key对应的value进行减一操作,decrby key num 是对key对应的value减去num的操作(进行减法操作)(注意的是key对应的value一定是整型的)
当value为字符串类型的时候,获取到value的长度为使用strlen key,key对应value
2)、list类型操作
key=>value(1)
value(2)
value(3)
value(4)
有序是指列表允许从左到右或者是从右到左都可以进行操作
lpush key 从左边添加一个元素 rpush key 从右边添加一个元素
lpop key 从右边移除一个元素 rpop key 从右边移除一个元素
lrange key start end 返回列表key指定区间内的元素
llen 返回的是列表中的元素个数(注list中的元素是可以重复的)
3)、set类型
key =>value1
value2
value3
value4
set类型提供了无序方式来存储多个不同的元素(注意是不同的,当想集合中添加同一个值时返回结果是0)
sadd key value1,value2... 向key中添加一个或多个元素
scard key 查看key中有多少个元素
sismember key value 判断value是否存在于key中(存在返回1,不存在返回0)
srem key value 将value从key中删除
4)、hash类型 (散列类型)
key=>key1->value
key2->value
key3->value
key4->value
key1,key2,key3,key4是字符串,value可以是字符串,整型或者是浮点型
hset key key1 value 像key中的key1添加元素,同时也可以修改key1的值
hget key key1 获取到key中的key1的元素
hlen key 获取key的长度
hmget key key1,key2 同时返回key中key1和key2的值
5)、sort set 有序分数集
key=>score(10.1)->value-->rank(1)
score(9.1)->value-->rank(0)
score(11.2)->value-->rank(2)
分数和元素的映射,根据分数值(score)的大小进行排序。score相同按照value的字典顺序来排序
zadd key score value 想key中添加score对应的value,也可以是修改value的score(再次添加相同的score等于是修改)
zcard key 查看key中有多少个元素
zrange key start end withscores 根据score的大小获取到某一区间的value
zrank key value 返回key中的value排序是多少