String是最常用的一种数据类型,普通的key/value存储都可以归为此类
常用的命令操作如下
1)set/get(和java的set/get类似)
2)mget 批量获取多个key的值,如果可以不存在则返回nil
3)incr && incrby incr对key对应的值进行加加操作,并返回新的值(类似于i++);incrby加指定值
【当value的类型不是integer或者超出范围时,会报错提示添加失败】
4) decr && decrby decr对key对应的值进行减减操作,并返回新的值;decrby减指定值
5) setnx 设置key对应的值为String类型的value,如果key已经存在则返回0
6) setex 设置key对应的值为String类型的value,并设定有效期
7) 其他命令
1)介绍:hash是一个string类型的field和value之间的映射表,实际的内部存储结构是一个hashmap,特别适合存储对象
2)运用场景:可用一个对象存储用户信息,如商品信息,订单信息等
3)常用命令
1、 hset——设置key对应的HashMap中的field的value
2、 hget——获取key对应的HashMap中的field的value
3、 hgetall——获取key对应的HashMap中的所有field的value
4、hlen--返回key对应的HashMap中的field的数量
常用命令:
1、lpush——在key对应的list的头部添加一个元素
如 lpush newlist value1 value2 value3
2、lrange——获取key对应的list的指定下标范围的元素,-1表示获取所有元素
如 lrange newlist 0 -1;返回结果是 value3 value2 value1 【倒序】
3、lpop——从key对应的list的尾部删除一个元素,并返回该元素
4、rpush——在key对应的list的尾部添加一个元素
5、rpop——从key对应的list的尾部删除一个元素,并返回该元素
常用命令:主要特征--可排重
1、sadd——在key对应的set中添加一个元素
如 sadd myset a b c a;成功插入的数据只有3条
2、smembers——获取key对应的set的所有元素
如 smembers myset 只返回3条数据
3、spop——随机返回并删除key对应的set中的一个元素
4、suion——求给定key对应的set并集
5、sinter——求给定key对应的set交集
常用命令:
1、zadd ——在key对应的zset中添加一个元素
如: zadd myzset 1 "one" 2 "two"
2、zrange——获取key对应的zset中指定范围的元素,-1表示获取所有元素
如: zrange myzset 0 -1 返回one two 两个元素
如:zrange myzset 0 -1 withscores 返回结果是带分数的
3、zrem——删除key对应的zset中的一个元素
4、zrangebyscore——返回有序集key中,指定分数范围的元素列表,排行榜中运用
5、zrank——返回key对应的zset中指定member的排名。其中member按score值递增(从小到大);排名从0开始
set是通过hashmap存储,key对应set的元素,value是空对象
sortset也是通过hashmap存储,但还加了一层跳跃表( 跳跃表:相当于双向链表,在其基础上添加前往比当前元素大的跳转链接 )