redisredis
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redisredis相关的知识,希望对你有一定的参考价值。
一、redis简介:
1. reids 也是一个 key-value 存储系统,更加确切地说,它已经是一个非关系型数据库。
2. 关系型。
SQL语言。
3. 非关系型。
key - value。
4. 数据类型。
字符串。
哈希
列表
集合
有序集合。
二、安装
linux
1. 解压
tar xzf redis-3.2.9.tar.gz
2. 进入目录
cd redis-3.2.9
3. 编译
make
4. 启动
二进制文件是编译完成后在src目录下,通过下面的命令启动Redis服务:
src/redis-server 或者 cd src && ./redis-server [redis.conf]
5. 使用
你可以使用内置的客户端命令redis-cli进行使用:
src/redis-cli
6. 配置
redis.conf
三、安装 php 扩展
1. 下载
s
2. 解压
unzip phpredis.zip
3. 进入目录
cd /phpredis
4. 执行 phpize
/usr/local/bin/phpize
5. 配置
./configure --with-php-config=/usr/local/php/bin/php-config
6. 编译安装
make && make install
7. 修改 php.ini 配置文件
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20151012/"
extension="redis.so";
8. 重启apache
/usr/local/apache2/bin/apachectl restart
四、使用 php 操作
数据类型
1. string
增加
set(‘索引‘,‘值‘) // 设置值。
setex // 设置有生命周期的值
mset(‘数组‘) // 批量设置值
setnx(‘索引‘,‘值‘) // 设置新值
删除
delete// 删除值。
修改
set(‘索引‘,‘值‘) // 修改值
incr(‘索引‘) // 增加值
incrby(‘索引‘,‘步进值‘) // 步进递加值
decr(‘索引‘) // 递减值
decrby(‘索引‘,‘步进值‘) // 步进递减值
获取
get(‘索引‘)// 获取值
mget(‘数组‘)// 批量获取值
2. list,链表,列表。
增加
lpush(‘表名’,‘值’)// 从左添加值
rpush(‘表名’,‘值’)// 从右添加值
删除
lpop(‘表名’)// 从左弹出
rpop(‘表名’)// 从右弹出
lrem(‘表名’)// 删除几个
修改
lset(‘表名’,第几个,‘要修改的值’)// 根据索引修改,从0开始
lset(‘表名’,负第几个,‘要修改的值’)// 根据索引修改,倒数,从-1开始
rpoplpush(‘弹出表’,‘填入表’)// 弹出最后一个元素到另一个新的列表中
查询
lindex(‘表名’,索引号数字)// 根据索引查询
lrange(‘表名’,开始索引号,结束索引号)// 从 start 到 end 结束。
lrange(‘表名’,0,-1)// 获取所有元素
lsize(‘表名’)// 查询列表中元素的个数
3. set 无序集合
增加
sadd(‘集合名’,‘值1’,‘值2’,‘值n’)// 添加集合
删除
srem(‘集合名’,‘值’)// 删除集合中的元素
修改
smove(‘集合1’,‘集合2’,‘值’)// 移动集合中的元素到另一个集合中。
查询
smembers(‘集合名’)// 获取集合中所有的元素
ssize(‘集合名’)// 获取集合中元素的个数
srandmember(‘集合名’)// 从集合中随机获取元素。
sinter(‘集合1’,‘集合2’)// 交集
sunion(‘集合1’,‘集合2’)// 并集
sdiff(‘集合1’,‘集合2’)// 差集
sismember(‘集合名’,‘值’)// 检测集合中元素是否存在
4. zset 有序集合
增加
zadd(‘集合名’,分数,‘值’)// 添加集合
删除
zrem(‘集合名’,‘值’)// 删除集合中的一个元素
修改
zincrby(‘集合名’,步进值,‘值’)// 提高分数
查询
zrange(‘集合名’,0,-1)// 获取集合中的所有元素
zrevrange(‘集合名’,0,-1)// 获取集合中的所有元素,倒数。
zrangebyscore(‘集合名’,起始分数,终止分数)// 根据分数范围获取元素,并取几个。
zrevrangebyscore(‘z1‘, 10, 50, [‘withscores‘=> true, ‘limit‘=> [0, 3]]// 根据分数范围获取元素,并取几个。
zcount(‘集合名’,起始分数,终止分数)//统计分数范围内的元素个数
zsize(‘集合名’)// 获取集合中元素的个数
zscore(‘集合名’,‘值’)// 获取某个元素的分数
zrank(‘集合名’,‘值’)// 获取某个元素的排名,从0开始算起。
zrevrank(‘集合名’,‘值’)// 获取某个元素排名,倒数
5. hash 哈希
增加
hset(‘哈希名’,‘索引’,‘值’)// 设置值
hmset(‘哈希名’,数组)// 批量设置值
hincrby(‘哈希名’,‘索引’,步进值)// 递加值
删除
hdel(‘哈希名’,‘值’)// 删除值
修改
hset(‘哈希名’,‘索引’,‘值’)// 修改值
查询
hget(‘哈希名’,‘索引’)// 获取值
hmget(‘哈希名’,数组)// 批量获取值
hgetall(‘哈希名’)// 获取所有值
hlen(‘哈希名’)// 获取个数
hkeys(‘哈希名’)// 获取所有键。
hvals(‘哈希名’)// 获取所有值
hexists(‘哈希名’,‘索引’)// 检测键名是否存在
6. 通用操作
select(数据库编号)// 选择数据库
flushdb// 清空当前数据库
flushAll// 清空所有数据库
set// 设置值
expire(‘索引’,时间)// 添加生命周期。
del// 删除值
ttl(‘索引’)// 获取生命周期
exists(‘索引’)// 检测键名是否存在
keys(‘*’)// 获取所有键
keys(‘name*’)
keys(‘*name’)
以上是关于redisredis的主要内容,如果未能解决你的问题,请参考以下文章