1、string 字符串型
set name zhangsan # 设置name(key) 为zhangsan(value)
get name #获取key的值
exists name #判断name是否存在
del name #删除键值 name
type name #获取name的类型
incr sum #如果键 sum 不存在 则创建 初始值为 1 若存在 则加一 如果不是整数型 则报错
incrby sum 12 #与incr类似 sum+12
decr sum #与incr相反 减去 1
decrby sum 12 #sum-12
incrbyfloat sum 0.2 # sum+0.2
append name " is " #尾部添加 is
strlen name #获取name的长度
mget name sum #同时获取多个键
mset name lisi sum 1110 #同时设置多个值
【del 支持通配符 可删除所有符合规则的 在这里可以看到 http://www.cnblogs.com/mintworld/p/5729805.html】
2、 hash 散列类型
存储方式如果按照 万物皆对象 就像上图一样 命令如下
hset person:1 height 175
hset person:1 weight 120
hset person:1 age 28
hget person:1 age #获取age
或者
hmset person:1 height 175 weight 120 age 28
hmget person:1 height weight age
hgetall person:1
hexists person:1 age # 判断键的字段是否存在
hsetnx person:1 age 120 # 如果age存在则无任何操作 不存在则创建字段赋值给字段
hincrby person:1 age 1 #如果字段age存在则 age+1 如果不存在则 创建字段并赋值为1 如果类型不可累加 则报错
hdel person:1 age height #删除一个或多个字段
hkeys person:1 #获取所有的字段
hvals person:1 #获取所有的字段值
hlen person:1 #获取字段数量
3、 list 列表类型
lpush message cust:123:hello #放入列表左侧
rpush message cust:123:hello #放入列表右侧
lpop message #从左边弹出一个值
rpop message #从右侧弹出一个值
llen message #获取元素的个数
lrange message 0 -1 #从第一个取出到最后一个
lrem message 2 1 #删除前两个值中为1的值 >0从左侧 <0从右侧 =0 删除所有为1 的值
lindex message 2 #获取值为2的下标 从0开始
lset message 0 zhangsan #设置第一个值为zhangsan
ltrim message 1 8 #只保留下标从1到8的值其余剪切掉
linsert message after 114 1 #在message中从0开始找到值为114然后在后面插入一个1 after 另一个是before
rpoplpush message ceshi #从message右侧取出一个值放入 到 测试的左侧中去
4、 set 集合类型
sadd person:youyong user:1 user:2 # 向person:youyong 放入 user:1 user:2 一般用来做的就是 标签 有游泳兴趣的用户是 1 2
srem person:youyong user:1 user:2 #删除一个或者多个元素
smembers person:youyong #获取所有元素
sismember person:youyong user:1 #判断元素是否存在
------------------------------------------------------差集 交集 并集--------------------------------
sadd person:yinyue user:3 user:4 #准备工作
sdiff person:youyong person:yinyue #结果是 user:1 user:2 A-B
sadd person:yinyue user1 #准备工作
sinter person:youyong person:yinyue #结果是 user:1
sunion person:youyong person:yinyue #结果是 user:1 user:2 user:3 user:4
------------------------------------------------------------------------------------------------------
scard person:youyong #获取person:youyong 的元素个数
sdiffstore person:test person:youyong person:yinyue#将获取到的值存储到 person:test中去 sinterstore sunionstore 一样
srandmember person:test #随机获取一个元素
srandmember person:test 2 #随机获取2个元素 2可以为负数 则有可能重复 当大于所有元素个数的时候则全部出现
spop person:test #随机弹出一个元素
5、 zset 有序集合
有序集合与集合相比多了个排序
zadd person:all 80 user:1 90 user:2 #添加元素
修改的话
zadd person:all 100 user:1
zscore person:all user:1 #获取元素的值 100
zrange person:all 0 -1 #得到的结果是 升序的 user:2 user:1 如果 zrange person:all 0 -1 withscores 则是 user:2 90 user:1 100
zrevrange person:all 0 -1 #同上 得到的结果是 降续
-----------------------------------------------------------------------------------------------------------
zrangebyscore person:all 80 100 #获取元素值在 80到100的元素 包含两端 得到的结果是 user:1 100 withscores
zrevrangebyscore person:all 80 100 #同上 得到的结果是 降续
ZRANGEBYSCORE person:all (80 100 withscores #不包含80
---------------------------------------------------------------------
#取前几个值
zrangebyscore person:all 80 100 withscores limit 0 1 # 大于等于80小于等于100 取一个从下标0(第一个开始取)开始
#增加某个元素的值
ZINCRBY person:all 1 user:1 #加1
ZINCRBY person:all -1 user:1 #减1
ZCARD person:all #获取元素个数
ZCOUNT person:all 80 100 #获取值在80和100之间元素的个数
ZCOUNT person:all 80 +inf #大于等于 80以上的所有元素的个数 +inf -inf 正无限大 负无限大
zrem person:all user:1 user:2 #删除多个元素
----------按照排名范围删除-------------------------------
ZREMRANGEBYRANK person:all 0 2
ZREMRANGEBYSCORE person:all 20 80 #按照值删除
-----------获得元素的排名------------------------
ZRANK person:all user:1 #获得升序排名
ZREVRANK person:all user:1 #获得降序排名