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

从原始链表随机升级, 

从最上层开始找, 逐级缩小范围

 

跳跃链表简单于红黑树  

 

posted @ 2021-07-08 22:57  hippoppower  阅读(44)  评论(0)    收藏  举报