首先要明白redis是一个数据库,redis是一个内存数据库,所有数据基本上都存在于内存当中,会定时以追加或者快照的方式刷新到硬盘中。 (推荐学习:redis视频教程)
由于redis是一个内存数据库,所以读取写入的速度是非常快的,所以经常被用来做数据,页面等的缓存。
redis最为常用的数据类型主要有以下:
string
hash
list
set
sorted set
pub/sub
transactions
首先redis内部使用一个redisobject对象来表示所有的key和value,redisobject最主要的信息如上所示:
type代表一个value对象具体是何种数据类型,encoding是不同数据类型在redis内部的存储方式。
比如:type=string代表value存储的是一个普通字符串,那么对应的encoding可以是raw或者是int,如果是int则代表实际redis内部是按数值型类存储和表示这个字符串的,当然前提是这个字符串本身可以用数值表示,比如:123 456这样的字符串。
这里需要特殊说明一下vm字段,只有打开了redis的虚拟内存功能,此字段才会真正的分配内存,该功能默认是关闭状态的。
我们可以发现redis使用redisobject来表示所有的key/value数据是比较浪费内存的,当然这些内存管理成本的付出主要也是为了给redis不同数据类型提供一个统一的管理接口,实际作者也提供了多种方法帮助我们尽量节省内存使用。
更多redis相关技术文章,请访问redis入门教程栏目进行学习!
以上就是redis数据保存在哪里的详细内容。
