[一]字符串类型(基本数据类型)
--->字符串类型是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. 二叉树中和为某一值得路径 java实现

    本题来自<剑指offer> 路径为从根节点到叶节点一条路径,路径经过的各节点数值之和等于某一给定数值,则打印路径上的节点 因为需要打印满足条件的路径节点信息和各节点之和,需要栈记录经过的节 ...

  2. 关于深度学习(deep learning)的常见疑问 --- 谷歌大脑科学家 Caffe缔造者 贾扬清

    问答环节 问:在finetuning的时候,新问题的图像大小不同于pretraining的图像大小,只能缩放到同样的大小吗?" 答:对的:) 问:目前dl在时序序列分析中的进展如何?研究思路 ...

  3. session 超时设置

    Java Web开发Session超时设置 博客分类: Java Web 在Java Web开发中,Session为我们提供了很多方便,Session是由浏览器和服务器之间维护的.Session超时理 ...

  4. intellij idea 中添加maven远程仓库

    在intellij idea 中配置好maven后 是这样的 如果加载失败,则需要自定义远程仓库,这里以阿里maven仓库为例, 在项目的pom文件中添加以下配置 <repositories&g ...

  5. Installing JDK7 on Ubuntu

    1. # sudo add-apt-repository ppa:webupd8team/java 2.  # sudo apt-get update 3.  # sudo apt-get insta ...

  6. 【poj2947】高斯消元求解同模方程组【没有AC,存代码】

    题意: p start enda1,a2......ap (1<=ai<=n)第一行表示从星期start 到星期end 一共生产了p 件装饰物(工作的天数为end-start+1+7*x, ...

  7. 【BZOJ】1718: [Usaco2006 Jan] Redundant Paths 分离的路径

    [题意]给定无向连通图,要求添加最少的边使全图变成边双连通分量. [算法]Tarjan缩点 [题解]首先边双缩点,得到一棵树(无向无环图). 入度为1的点就是叶子,两个LCA为根的叶子间合并最高效,直 ...

  8. WordPress在nginx服务器伪静态

    server { listen 80; root /var/www/xxx; server_name www.xxx.com; access_log /var/log/www/xxx.log main ...

  9. zabbix的命令执行

    1.对于低版本的可用下列exp直接打到用户 http://119.29.48.232/zabbix/httpmon.php?applications=2 and (select 1 from (sel ...

  10. solaris如何启动ssh服务

    先查看一下ssh服务状态:# svcs或# svcs | grep sshonline Aug_07 svc:/network/ssh:default 如需要关闭ssh服务(关闭完可以 svcs | ...