redis 数据类型详解 以及 redis适用场景场合
- MySql+Memcached架构的问题
- Redis常用数据类型Redis最为常用的数据类型主要有以下:String
List
Set
Sorted set
pub/sub
Transactions
在具体描述这几种数据类型之前 , 我们先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的:
文章插图
首先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不同数据类型提供一个统一的管理接口 , 实际作者也提供了多种方法帮助我们尽量节省内存使用 , 我们随后会具体讨论 。
Linuxc/c++服务器开发高阶视频学习资料后台私信【架构】获取
文章插图
- 各种数据类型应用和实现方式下面我们先来逐一的分析下这7种数据类型的使用和内部实现方式:
Strings 数据结构是简单的key-value类型 , value其实不仅是String , 也可以是数字.常用命令: set,get,decr,incr,mget 等 。
应用场景:String是最常用的一种数据类型 , 普通的key/ value 存储都可以归为此类.即可以完全实现目前 Memcached 的功能 , 并且效率更高 。 还可以享受Redis的定时持久化 , 操作日志及 Replication等功能 。 除了提供与 Memcached 一样的get、set、incr、decr 等操作外 , Redis还提供了下面一些操作:
- 查询|数据太多容易搞混?掌握这几个Excel小技巧,办公思路更清晰
- 黑莓(BB.US)盘前涨逾32%,将与亚马逊开发智能汽车数据平台|美股异动 | US
- 健身房|乐刻韩伟:产业互联网中只做单环节很难让数据发挥大作用
- V2X|V2X:确保未来道路交通数据交换的安全性
- 短视频平台|大数据佐证,抖音带动三千万就业,视频手机将成生产力工具?
- 权属|从数据悖论到权属确认,数据共享进路所在
- 介绍|5分钟介绍各种类型的人工智能技术
- 统计|多久才能换一次手机?统计机构数据有点意外
- 发展|大数据解读世界互联网大会·互联网发展论坛!
- 网购|黑色星期五及网购星期一大数据出炉 全球第三方卖家销售额超48亿美元