[一]字符串类型(基本数据类型)
--->字符串类型是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. python邮件服务

    文件形式的邮件 [python] view plaincopy #!/usr/bin/env python3 #coding: utf-8 import smtplib from email.mime ...

  2. Linux之初试驱动20160613

    这篇文章主要介绍一下Linux内核下的驱动结构与书写,以及介绍Linux下简单使用驱动的应用程序: 首先我们直接看使用驱动的简单应用程序: #include <sys/types.h> # ...

  3. bzoj 1006 [HNOI2008]神奇的国度 弦图+完美消除序列+最大势算法

    [HNOI2008]神奇的国度 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 4370  Solved: 2041[Submit][Status][D ...

  4. crontab 定期拉取代码

    * * * * * cd /home/wwwroot/default/lion/ && /usr/bin/git pull origin 5hao >> /tmp/git. ...

  5. uboot 的命令体系

    1.代码位置 (1)uboot命令体系的实现代码在uboot/common/cmd_xxx.c中.有若干个.c文件和命令体系有关.(还有command.c  main.c也是和命令有关的) 2.传参方 ...

  6. synchronize 和volatile 实现共享变量在多线程中的可见性

    1.什么是线程可见性 可见性:一个线程对共享变量值的修改能够及时被其他线程看到. 共享变量:如果一个变量在多个线程工作内存中都存在副本,那么着给按量就是这几个线程的共享变量. 2.导致共享变量在线程间 ...

  7. SpringMVC+MyBatis 返回时间格式转换的解决方案

    Spring MVC 4.X ResponseBody 日期类型Json 处理 摘自http://tramp-zzy.iteye.com/blog/2090330  2014-07-10 方法一:全局 ...

  8. 确保web安全的https、确认访问用户身份的认证(第七章、第八章)

    第七章 确保web安全的https 1.http的缺点: (1)通信使用明文,内容可能会被窃听 (2)不验证通信方的身份,因此有可能遭遇伪装 (3)无法证明报文的完整性,因此有可能已遭篡改. 2.通信 ...

  9. 工作笔记 --->新疆统计分析添加市场管理员相关功能笔记

    先上一张大致需求的图 表信息 点击首页 “管理站点”时打开一个窗口 <a href="javascript:void(0);" onclick="javascrip ...

  10. RabbitMQ与AMQP

    1. 消息队列的历史 了解一件事情的来龙去脉,将不会对它感到神秘.让我们来看看消息队列(Message Queue)这项技术的发展历史. Message Queue的需求由来已久,80年代最早在金融交 ...