一、redis目前到底有哪些数据类型?
redis是基于字典结构进行数据存储的,有时候也叫map(映射),或者叫 associative array(关联数组),所以它存的是键值对。(以前我曾以为字典和Map有很大的区别,hiahia)。
1.既然是键值对,那么他的
key是什么类型的呢?binary sequence。用面向对象的观点,只要对一个对象的二进制序列化做好了,什么对象都可以作为key,也就不说key是什么数据类型了。key的设计一般需要注意下面这些:
你妹的,我的阿里云服务器内存总共就512M,看来你个key就可以把内存占满。但是怎么弄个512MB的key呢?一个字符占用一个字节,一个汉字占用二个字节,那么我需要要打512*1024*1024个字符,那么我随便打英文字,每秒大概能打10个字符,卧槽,我如果手动输入这么大一个string,得用512*1024*1024/10/60/60/24=621.37天,草,我得打两年。
2.
value是什么类型的呢?
value类型目前有7种:
可以看出它所有的数据都是基于strings来的。
3.键空间。
键空间有一些操作,不管value是什么类型。
如Exists,Del,Type,Expire等。
4.string类型。
string类型可以存储512M大小的数据,所以足够缓冲网页,图片啥的。
string类型也可以是数字,当是数字是可以使用incr,incrby增加其数值。可以通过mset,mget同时操作多个键。
下一篇继续其他的value类型。