一、redis-string
string是redis最基本的类型,一个key对应一个value
string可以包含任何数据,最大不能超过512M
set ---- 设置值
get ---- 获取值
mset ---- 设置多个值
mget ---- 获取多个值
append ---- 添加字段
del ---- 删除
strlen ---- 返回字符串长度
incr ---- 增加 , 默认+1
decr ---- 减少 , 默认-1
incrby ----- 指定增加多少, incrby num 2 num加2
decrby ----- 指定减少多少, decrby num 2 num减2
getrange ---- 获取指定区间范围内的值,类似between....and的关系
setrange ---- 代表从第几位开始替换,下脚本从零开始
从0 -1表示全部
二、redis-list(单值多value)
List(列表)
-
列表是简单的字符串列表,按照插入顺序排序,可以添加一个元素列表的头部(左边)或者尾部(右边)
-
它的底层实际是个链表
lpush/rpush/lrange ---- 从左/从右/获取指定长度
lpush list01 1 2 3 4 5 倒序排列
rpush list02 1 2 3 4 5 正序排列
lrange list01 0 -1 获取list01 中的所有值
lpop/rpop 移除最左/最右 lpop list01 删除元素5 rpop list01 删除元素1
lindex,按照索引下标获得元素(从上到下)
lindex list01 1
llen,求列表长度:
llen list01
lrem key:
删N个value
lrem list01 2 1 在list01中删除2个1
ltrim ---- 开始index结束index,截取指定范围的值后在赋值给key
ltrim list01 0 2 截取list01 从0到2的数据在赋值给list01
rpoplpush list1 list2 将list1中最后一个压入list2中第一位
lrange list01 0 -1
lrange list02 0 -1
rpoplpush list1 list2
lset key index value
lset list01 0 x 将list02中第一位换成x
linsert list01b before x php 在x之前加字段php
linsert list01b after x php 在x之后加字段php
三、redis-Hash
hash是一个键值对集合
hash是一个string类型的field和value的映射表,hash特别适合存储对象
设值: hset hset user id 11
取值: hget hget user id
设值多个值: hmset hmset customer id 11 name juran age 26
取多个值: hmget hmget customer id name age 只返回相应的值
取全部值: hgetall hgetall customer 返回全部
删除值: hdel hdel user id 删除id
求哈希长度: hlen customer
hexists 在key里面的某个值,存在返回1 ,不存在返回0
获取keys: hkeys name ---获取name中的所有的keys
获取values: hvals name ---获取name中的所有的values
四、redis-set(不重复的)
set是string类型的无序集合
sadd/smembers/sismember ---- 添加/查看集合/查看是否存在
sadd set01 1 2 2 3 3 去掉重复添加
smembers set01 得到set01
sismember set01 1 如果存在返回1 不存在返回0
scard ---- 获取集合里面的元素个数
scard set01
srem ---- 删除集合中元素
srem set01 3 删除掉3
srandmembe ---- 随机出几个数
sadd set02 1 2 3 4 5 6 7 8
srandmember set02 2
spop ---- 随机出栈
spop set01
sadd set01 1 2 2 3 3
sadd set03 x y z
smove set01 set03 2 将set01中的2 移动到set03中
sadd set01 1 2 3 4 5
sadd set02 1 2 3 a b
差集
SDIFF set01 set02 返回 4 5 在第一个set中不在第二个set中
交集
SINTER set01 set02 返回 1 2 3
并集
SUNION set01 set02 返回set01 set02 中的值 去掉重复
五、redis-Zset(有序集合)
zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5
zrange zset01 0 -1
带分数返回 withscores
zrangebyscore key start end----根据开始结束来取值
zrangebyscore zset01 60 70
zrangebyscore zset01 60 (90 表示不包含90
zrangebyscore zset01 60 90 limit 1 2 从第一条开始截取2条
zrem key value ---- 某score下对应的value值,作用是删除元素
zrem zset01 v1
zcard 求zset01 总条数
zcount zset01 60 90 求60-90个数
zrank zset01 v2 返回1 返回对应下角标,从0开始