标签:判断 内存 hex 用户 排序 创建 信息 二进制安全 字典
它是二进制安全的,可以存储图片等数据。不会因为特殊字符导致字符串结尾,redis是C语言书写的,C的字符串有这种特点。底层是SDS(simple dynamic string),字符串是动态的,类似arraylist。
底层:SDS(simple dynamic string)
用途:缓存用户信息的一个字段
常用命令:set、get、getset key value(先获取值然后再设置)、incr、decr(自增和自减)、incrby key value、decrby key value(加和减某个数)、append key value(追加)、del
相当于一个hashmap,一种以string为key,string为value的容器。底层类似java中的hashset,也是数组加链表。rehash和java中的集合不同,为了实现高性能,redis采用渐进式rehash ,当rehash时保留新旧两个hash结构,在后续任务中缓慢迁移到新hash中。它也可以缓存用户信息,当不需要用户全部信息,只需要一部分时可以用hash取指定的部分。
底层:字典或ziplist
用途:存储用户信息、商品信息(多个字段)。
常用命令:hset key field value、hget key field(存和取)、hdel key field1 field2(删除key)、hincrby key field value(增加)、hexists key field(判断是否存在该field)、hlen key(获取field的个数)、hkeys key、hvals key(获取所有的field或value)
一个装着string的双端队列。底层使用的数据结构是快速链表quicklist,这种数据结构在数据较少的时候会使用一块连续内存,当数据多起来又会用链表。list类型插入和删除较快,而查找是慢操作。常用来作为异步队列使用,一个线程压入,另一个线程取出任务执行。
底层:quicklist
用途:关注列表、消息列表。
常用命令:lpush key 多个value、rpush key 多个value(从左压入元素、从右压入元素)、lrange key start end(获取元素,查所有可以分别设置为0和-1)、lpop、rpop(从左或右取)、lpushx、rpushx(带检查的插入元素,不存在key就不创建)、lrem key count value(从左到右删count个值为value的,如果想从右到左就将count设置为负)、lset key posi value(设置某个位置的值,索引从1开始)、linsert key before/after index value(在对应位置向前或向后插入元素)
相当于一个hashset,有自动去重效果,set可以轻松实现交集、并集和差集。如果用set来实现关注列表和兴趣,就可以很容易求出共同关注和共同爱好。可以用来做中奖用户的ID,保证一个用户不会中奖两次。
底层:字典
用途:统计不同ID
常用命令:sadd key value1 value2、srem key value1 value2(添加和删除)、smembers key(获取所有值)、sismember key value(查看是否有某个值)、sdiff key1 key2、sinter key1 key2、sunion key1 key2(输出差集、交集、并集)、scard key(查看set的大小)、srandmember key(随机产生一个值)、sdiffstore destinationkey key1 key2、sinterstore destinationkey key1 key2、sunionstore destinationkey key1 key2(将集运算结果装入目的key set中)
相当于一个有排序功能的hashset,这个权重由用户指定。
底层:跳表或ziplist
用途:需要排序的场合,比方说学生按成绩排名,粉丝按关注时间排名等,各种排行榜。
常用命令:zadd key score1 member1 score2 member2(添加)、zcard key(查看set的大小)、score key member(获取对应权重)、zrem key member(删除)、zrange key 0 -1(查询所有。如果要加上权重就在后面加上withscores)、zremrangebyrank key start end(根据排名删除)、zremrangebyscore key start end(根据分数删除)、zrangebyscore key start end limit a b(根据分数查询分页)、zcount key min max(根据对应分数查看个数)、zrank key member(返回排名)
标签:判断 内存 hex 用户 排序 创建 信息 二进制安全 字典
原文地址:https://www.cnblogs.com/shizhuoping/p/11517144.html