[一]字符串类型(基本数据类型)
--->字符串类型是redis的最基本的数据类型
--->能存储任何形式的字符串,(用户邮箱,json化的对象,一张图片)
--->一个字符串类型的键允许存储的数据的最大容量是512MB
--->赋值:set key value
--->取值:get key
 
[二]散列类型(对象结构)
--->一个散列类型的数据,如java里一个对象的实例
--->key就是一个对象的名字
--->key里的字段,如javabean里的属性名
--->key里的字段值,如javabean里的属性的属性值
--->key的结构不固定,可以随意的扩展字段,和减少字段。多个类似的key可以不用关心批次的结构是否一致
--->一个key可以存在字段数量:2的32次方-1个
--->除了散列类型,Redis的其他数据类型同样不支持数据类型嵌套,比如集合类型的每个元素都只能是字符串,不能是另一个集合或散列表等
 
[三]列表类型(list结构)
--->列表类型可以存储一个有序的字符串列表。
--->元素不唯一
--->常用的操作是,向列表的两端添加元素,或者是获取列表的某一个片段
--->列表类型内部是使用双向链表实现的。向列表两端添加元素的时间复杂度为0,获取越接近两端的数据,速度越快。
--->常常把列表做队列使用。
--->可以存放的元素个数为:2的32次方-1个
 
[四]集合类型(set结构)
--->集合中每个元素都是不同的,且没有顺序的。
--->元素唯一
--->一个set型的集合键至多存储2的32次方-1个元素
--->由于集合类型在redis内部是使用值为空的散列表(hash table)实现的。所以这些操作的时间复杂度为0
--->最方便的是多个集合类型键之间还可以进行并集,交集,差集的运算。
 
[五]有序集合类型
--->有序集合类型和集合的区别在于有序
--->有序集合会为每个元素都关联一个分数。因此:获取分数最高,最低的前n个元素。
--->有序集合中的每个元素是不同的,但他们各自的分数可能是相同的
--->有序集合在某些方面和列表类型有些相似(1)二者都是有序的(2)二者都可获得一定范围的元素
--->有序集合和列表的区别
  (1)列表类型是通过链表实现的,获取两端数据的时间复杂度为0。
  (2)有序集合类型是使用散列表和跳跃表实现的。即使读取中间部分的数据,时间的复杂度为0
  (3)列表中不能简单调整某个元素的位置,但是有序集合可以。
  (4)有序集合要比列表类型更耗费内存

redis之(三)redis的数据类型的更多相关文章

  1. Redis系列三 Redis数据类型

    一 .Redis的五大数据类型 1.String(字符串) string是redis最基本的数据类型,可以理解成与 Memached一模一样的数据类型,一个key对应一个value. string 类 ...

  2. Redis系列(三)-Redis发布订阅及客户端编程

    阅读目录 发布订阅模型 Redis中的发布订阅 客户端编程示例 0.3版本Hredis 发布订阅模型 在应用级其作用是为了减少依赖关系,通常也叫观察者模式.主要是把耦合点单独抽离出来作为第三方,隔离易 ...

  3. redis学习三 redis持久化

      1,快照持久化 1简介      redis可以通过创建快照来获得某个时间点上的内存内容的数据副本,有了副本之后,就可以将副本发送到其他redis服务器上从而创建相同数据的从服务器,同时快照留在原 ...

  4. redis教程(三)-----redis缓存雪崩、缓存穿透、缓存预热

    缓存雪崩 概念 缓存雪崩是由于原有缓存失效(过期),新缓存未到期间.所有请求都去查询数据库,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机.从而形成一系列连锁反应,造成整个系统崩溃. 解决 ...

  5. Redis(三)数据类型

    之前的文章中说了Redis的常见应用场景和特性,在特性章节中也大致说了数据结构契合场景.因为我想在更深入.更全面的学习Redis之前,了解场景和特性,才能在学习时更加全面且理解更透彻: redis的什 ...

  6. Redis 详解 (三) redis的五大数据类型详细用法

    目录 1.string 数据类型 2.hash 数据类型 3.list 数据类型 4.set 数据类型 5.zset 数据类型 6.系统相关命令 7.key 相关命令 我们说 Redis 相对于 Me ...

  7. Redis系列(二):Redis的数据类型及命令操作

    原文链接(转载请注明出处):Redis系列(二):Redis的数据类型及命令操作 Redis 中常用命令 Redis 官方的文档是英文版的,当然网上也有大量的中文翻译版,例如:Redis 命令参考.这 ...

  8. Redis(三)Redis基本命令操作与API

    一Redis 连接 Redis 连接命令主要是用于连接 redis 服务. 实例 以下实例演示了客户端如何通过密码验证连接到 redis 服务,并检测服务是否在运行: redis 127.0.0.1: ...

  9. Redis 基础:Redis 数据类型

    Redis 数据类型 Redis支持五种数据类型:string(字符串).hash(哈希).list(列表).set(集合)及zset(sorted set:有序集合). String(字符串) st ...

  10. Redis(三)内存模型

    本文转载自编程迷思,原文链接 深入学习Redis(1):Redis内存模型 前言 Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可 ...

随机推荐

  1. jsp电子商务系统之六 订单篇1

    常规一个商品一个订单 多个商品一个订单 订单只有提交才能结算 付款页面 代码实现,主要是Servlet代码和Service业务层的代码,此处业务层,对多个dao的操作更为明显,体现业务二字!!! pa ...

  2. 学习操作Mac OS 之 使用brew安装软件

    安装brew软件 安装方法:  在Mac中打开Termal:  输入命令: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercont ...

  3. [BZOJ3523][Poi2014]KLO-Bricks——全网唯一 一篇O(n)题解+bzoj最优解

    Description 有n种颜色的砖块,第i种颜色的砖块有a[i]个,你需要把他们放成一排,使得相邻两个砖块的颜色不相同,限定第一个砖块的颜色是start,最后一个砖块的颜色是end,请构造出一种合 ...

  4. 关于javascript数组的定义与其一些常用方法总结

    由于JavaScript是一门宽松的语言,这种宽松可能会带来更加麻烦的事情.比如JavaScript的数组,定义与使用的方式太灵活有时候让人迷惑.下面将JavaScript中关于数组常用的方法.定义之 ...

  5. STL之一:字符串用法详解

    转载于:http://blog.csdn.net/longshengguoji/article/details/8539471 字符串是程序设计中最复杂的变成内容之一.STL string类提供了强大 ...

  6. [ssh]ssh系列之一

    1.使用ssh建立sock代理 ssh -D 7070 -f -N user@host -D -f 后台执行 -N 不登陆shell执行

  7. udhcpd源码分析4--获取client报文及发包动作

    1:重要的结构体 获取的报文是UDP的payload部分,结构体struct dhcpMessage描述了dhcp报文的结构. /* packet.h */ struct dhcpMessage { ...

  8. js:鼠标移动到文字显示div,移出文字div显示,鼠标能移进div

    <!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" ...

  9. 读取txt内容放入set中

    package pingbi; /** * 将txt文本读入导入到set中 * 问题: * 第一个地方有会多一个 ?--解决问题很简单,但不知道问题的原因 */ import java.io.Buff ...

  10. JS把内容动态插入到DIV

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DT ...