Redis笔记2- 数据类型
热点数据,
String
最大储存512M
mset age 18 address beijing
mget username age
整数:
incr num
decr num
decr num 3
del num //删
hash
相当于hashmap
hset key field value field value //第一个key是redis的key, 后面的才是map:key value
hset userinfo username zs age 28
hget userinfo username
hmget userinfo username age
hgetall userinfo
hlen userinfo //lenght
hincrby userinfo age
del userinfo
lists
Redis lists = java LinkedList
lpush student zs ls ww
rpush student tq
rpop student
lrange student 0 1
sets
== hashset, value值永远为null的hashmap
sadd key value1 value2 ...
sadd nums 1 2 3
smembers nums
srem nums 2 //remove member 2
sinter num1 num2 //交集
sdiff num1 num2 //差集, 集合1 减去 集合2中有的, 注意, 一定是以集合1为基础
sunion num1 num2 //并
sorted sets
为每个value附一个score
zadd key score value
zadd rank 66 zhangsan 88 lisi 77 wangwu 99
zrange rank 0 3
zrangebyscore rank 77 99
zrem rank lisi
zcard rank
zcount rank 77 88
zrank rank wangwu // 1
zrevrank rank zhangsan
sorted原理:
/*
二分: 首尾相加/2 , 与target比较, 淘汰半 时间复杂度O(logn)
sorted是用二分查找的吗, 不是, 二分只适用于数组, sorted sets 是链表
*/
sorted sets ----- 跳跃链表 skip list
从原始链表随机升级,
从最上层开始找, 逐级缩小范围
跳跃链表简单于红黑树

浙公网安备 33010602011771号