五种数据类型之String篇 网站访问统计怎么做
前记
我们讲到redis的数据类型,需要区分另一个词,redis存储数据的数据模型
,我们知道,redis作为一款key-value键值对数据库,这里讲的key-value
其实指的就是redis存储数据的数据模型
,所有数据都是以这种Map
对象模型保存数据的.
而我们今天要将的数据类型,指的是value这个值的类型。 他一共有五种,分别是string字符串
、list数组
、hash散列
、set集合
、sorted set有序集合
。
key健
Redis keys are binary safe, this means that you can use any binary sequence as a key, from a string like “foo” to the content of a JPEG file. The empty string is also a valid key.
在官方文档中提到redis的key是二进制的,所以他可以是各种二进制序列,如foo,甚至是图片文件,空字符串non-string value
都可以作为存储数据的key健。
string字符串,它是一个动态字符串。redis自身定义了一种简单动态字符串(SDS, simple dynamic string),SDS里,定义了字符串的长度,用作redis的默认字符串表示。它实际上是一个带有长度信息的字节数组。
特性
- 他存储数据的长度不能超过512M,即2^(32-1)位bit。(大家可以算算具体有多少位,因为这个位数正是下面举例bitmap运用能得以实现的前提哦)
- string存储方式有两种,当长度小于44字节时,会使用embstr编码存储,超过44字节,则使用raw编码存储。
- 数据可以是任何类型的字符串,数值,jpg图片,或者序列化的对象等。
常用操作
赋值给key
127.0.0.1:6379> set key 23 # 赋值23给key1
OK
查询key的值
127.0.0.1:6379> get key # 查询key1的值
"23"
增1
127.0.0.1:6379> inc