set: 赋值
set key value
$redis->set('key','value')
setex: 赋值(带过期时间,单位s)
setex key expire value
$redis->setex('key','expire','value')
setnx: key不存在才能赋值
setnx key value
$redis->setnx('key','value')
setrange: 从偏移位开始覆盖写
setrange key offset value
$redis->setrange('key',offset,'value')
get: 获取值
get key
$redis->get('key')
getrange: 截取值
getrange key start end
$redis->getrange('key',start, end)
mset: 同时设置多个key的值
mset key1 value1 key2 value2 ...
$redis->mSet(array('key0'=>'value0','key1'=>'value1'))
mget: 同时获取多个key的值
mget key1 key2 key3 ...
$redis->mGet(array('key0','key1'...))
incr: 递增1
incr key
$redis->incr('key')
incrby: 递增指定数字
incrby key increment
$redis->incrBy('key', number)
decr: 递减1
decr key
$redis->decr('key')
decrby: 递减指定数字
decrby key decrement
$redis->decrBy('key', number)
strlen: 获取值的长度
strlen key
$redis->strlen('key')
append: 向value后补追加值
append key value
$redis->append('key','value')
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象
。
hset: 赋值
hset key field value
$redis->hSet(key, field, value)
hmset: 赋值多个字段
hmset key field1 value1 field2 value2...
$redis->hMset(key, array('field1'=>'value1', 'field2'=>'value2'))
hget: 获取值
hget key field
$redis->hGet(key, field)
hmget: 获取多个字段值
hmget key field1 field2...
$redis->hMget(key, array('field1''field2'))
hgetall: 获取所有字段的值
hgetall key
$redis->hGetAll(key)
hexists: 判断字段是否存在
hexists key field
$redis->hExists(key, field)
hsetnx: 字段不存在时赋值
hsetnx key field value
$redis->hSetNx(key, field, value)
hincrby: 字段值递增指定数字
hincrby key field increment
$redis->hIncrBy(key, field, number)
hkeys: 获取全部字段名
hkeys key
$redis->hKeys(key)
hVals: 获取全部字段值
hvals key
$redis->hVals(key)
List数据结构是一个双向链表,它可以存储一个有序的字符串列表
,可以从队列两端添加和弹出元素,适合做消息队列。
lpush: 从左端添加元素
lpush key value
$redis->lPush(key,value)
rpush: 从右端添加元素
rpush key value
$redis->rPush(key,value)
lpop: 从左端弹出元素
lpop key
$redis->lPop(key)
rpop: 从右端弹出元素
rpop key
$redis->rPop(key)
llen: 获取元素个数
llen key
$redis->lSize(key)
lrange: 获取区间内的元素
lrange key
$redis->lRange(key, start, end)
lrem: 移除数量为count的元素
count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT 。
count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值。
lrem key
$redis->lRem(key, value, count)
lindex: 获取指定索引的元素值
lindex key index
$redis->lGet(key, index)
lset: 设置指定索引的元素值
lset key index value
$redis->lSet(key, index, value)
ltrim: 截取列表指定片段
ltrim key start end
$redis->lTrim(key, start, end)
Redis 的 Set 是 String 类型的无序集合
。集合成员是唯一的
,这就意味着集合中不能出现重复的数据。
sadd: 添加元素
sadd key value1 value2...
$redis->sAdd('key', 'value')
srem: 移除元素
srem key value1 value2...
$redis->sRem('key', 'value')
scard: 获取集合中的元素个数
scard key
$redis->sCard('key')
smembers: 获取集合中所有元素
smembers key
$redis->sMembers('key')
sismember: 判断元素是否在集合中
sismember key value
$redis->sIsMember('key', 'value')
srandmember: 随即获取指定个数元素
该操作和 SPOP 相似,但 SPOP 将随机元素从集合中移除并返回,
而 Srandmember 则仅仅返回随机元素,而不对集合进行任何改动。
srandmember key count
$redis->sRandMember('key', count)
sdiff: 对集合做差集运算
sdiff key1 key2...
$redis->sDiff('key1', 'key2'...)
例子:
求key1、key2的差集
其实就是求key1中,key2不包含的内容。
sdiffstore: 对集合做差集运算,并把结果存到新集合
sdiffstore newSet key1 key2...
$redis->sDiffStore('output', 'key1', 'key2'...)
sinter: 对集合做交集运算
sinter key1 key2...
$redis->sInter('key1', 'key2'...)
sinterstore: 对集合做交集运算,并把结果存到新集合
sinterstore newSet key1 key2...
$redis->sInterStore('output', 'key1', 'key2'...)
sunion: 对集合做并集运算
sunion key1 key2...
$redis->sUnion('key1', 'key2'...)
sunionstore: 对集合做交并集运算,并把结果存到新集合
sunionstore newSet key1 key2...
$redis->sUnionStore('output', 'key1', 'key2'...)
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复成员
。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序
。
有序集合的成员是唯一的,但分数(score)可以重复。
适用场景:排行榜
zadd: 添加元素
zadd key score1 value1 score2 value2...
$redis->zAdd( 'key', score1 ,'val1'...)
zscore: 获取元素的分数
zscore key value
$redis->zScore( 'key','val1')
zrange: 获取从小到大排名在某范围内的元素
zrange key start end [withscore]
$redis->zRange( 'key', start, end, 'withscore')
zrevrange: 获取从大到小排名在某范围内的元素
zrevrange key start end [withscore]
$redis->zRevRange( 'key', start, end, 'withscore')
zrangebyscore: 获取指定分数区间的元素
zrangebyscore key min max [withscore] [LIMIT offset count]
$redis->zRangeByScore( 'key', start, end, array('withscores' => true, 'limit' => array(0, 3)))
zincrby: 增加某个元素的分数
zincrby key increment value
$redis->zIncrBy( 'key', increment, 'value')
zcard: 获取集合中元素的个数
zcard key
$redis->zSize( 'key')
zcount: 获取指定分数范围内的元素个数
zcount key min max
$redis->zCount( 'key', start, end)
zrem: 删除一个或多个元素
zcount key value1 value2...
$redis->zDelete( 'key', value)