回顾:上一基础中已了解 ( 什么是redis 、redis 的三大特点、安装,和数据配置)

   接下来浅尝Redis的数据类型,时间煮雨......

一、Redis数据类型

  redis支持五中数据类型(string字符串、hash哈希、list列表、set集合、zset有序集合)

  (一)String 字符串

    1、string 是redis 中最基本的类型,可以理解成与memcached一模一样的类型,一个key对应一个value

    2、string 类型是二进制安全的,意思是redis 的string可以包含任何数据,比如jop图片或者序列化的对象

    3、sting 类型是redis最基本的数据类型,一个键最大能存储512MB

    实战    

redis 127.0.0.1:6379> set name 'myis lcc'
OK
redis 127.0.0.1:6379> get name
"myis lcc"
redis 127.0.0.1:6379>

  这里用到了redis 的 SET 和 GET命令,键为name,对应的值为 myis lcc

  (二)Hash 哈希

    1、redis hash 是一个键值对集合

    2、redis hash 是一个string类型的 field 和 value 的映射表, hash 特别适合用于储存对象

    (一个键最大储存512MB)

    实战

redis 127.0.0.1:6379> HMSET user:1 username redis password redis points 200
OK
redis 127.0.0.1:6379> HGETALL user:1
1) "username"
2) "redis"
3) "password"
4) "redis"
5) "points"
6) "200"
redis 127.0.0.1:6379>

  

    以上实例中 hash 数据类型储存了包含用户脚本的信息的用户对象,实例中用了 Redis HMSET \ HGETALL命令, user:1为键名

    (每个hash可以储存2的32次方-1键值对(40多亿))

  (三)List 列表

    1、redis 列表是简单的字符串列表,安装顺序排序。可以添加一个元素导入列表的左边(头部) 或者右边(尾部)

    实战      

redis 127.0.0.1:6379> lpush redis.list php
(integer) 1
redis 127.0.0.1:6379> lpush redis.list mysql
(integer) 2
redis 127.0.0.1:6379> rpush redis.list cc
(integer) 3
redis 127.0.0.1:6379> lrange redis.list 0 10
1) "mysql"
2) "php"
3) "cc"
redis 127.0.0.1:6379>

  

    (列表最多可以储存2的32次方-1个元素(4294967295 每个类别可以存40多亿))

  (四)Set 集合

    1、redis 的集合 set 是string 类型的无序集合

    2、集合是通过哈希表实现的,所以添加、删除、查找的复杂度都是O(1)

    3、sadd 命令

       添加一个sting元素到集合中,成功返回1,如果元素已经存在返回 0, key对应的set 不存在发生错误则返回错误

    sadd key member

    实例  

    

redis 127.0.0.1:6379> sadd redis.set mysql
(integer) 1
redis 127.0.0.1:6379> sadd redis.set php
(integer) 1
redis 127.0.0.1:6379> sadd redis.set cc
(integer) 1
redis 127.0.0.1:6379> sadd redis.set mysql
(integer) 0
redis 127.0.0.1:6379> smembers redis.set
1) "php"
2) "cc"
3) "mysql"
redis 127.0.0.1:6379>

  

    注意:以上实例中 mysql 添加了两次,但是根据集合内元素的唯一性,第二次插入的元素会被忽略    

    (集合中最大的成员数位2的32次方-1(4294967295 每个类别可以存40多亿))

  (五)Zset 有序集合

    1、redis zset 和 set 一样也是string 类型的元素集合,且不允许重复成员

    2、不同的是每个元素都会关联一个double类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序

    3、zset 的成员是唯一的,但分数(score)却可以重复

    4、zadd 命令

      添加元素到集合,元素在集合中存在则更新score

      zadd key score member

    实战  

    

redis 127.0.0.1:6379> zadd redis.zset.cn 0 php
(integer) 1
redis 127.0.0.1:6379> zadd redis.zset.cn 0 mysql
(integer) 1
redis 127.0.0.1:6379> zadd redis.zset.cn 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd redis.zset.cn 0 redis
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE redis.zset.cn 0 10
1) "mysql"
2) "php"
3) "redis"
redis 127.0.0.1:6379>

  

   以上就是浅尝Redis 数据类型,接下来进行命令实践

 注明:纯手工码字搬运哟

    

  

  

    

Redis学习基础二的更多相关文章

  1. Redis学习笔记二 (BitMap算法分析与BitCount语法)

    Redis学习笔记二 一.BitMap是什么 就是通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身.我们知道8个bit可以组成一个Byte,所以bitmap本身会极大的节省 ...

  2. Redis学习---基础学习[all]

    什么是NoSQL型数据库 NoSQL数据库---NoSQL数据库的分类 Redis学习---NoSQL和SQL的区别及使用场景 Redis学习---负载均衡的原理.分类.实现架构,以及使用场景 什么是 ...

  3. redis 学习(二)-- 通用命令

    redis 学习(二)-- 通用命令 1. keys pattern 含义:查找所有符合给定模式(pattern)的key 命令 含义 keys * 遍历所有 key keys he[h-l]* 遍历 ...

  4. redis学习教程二《四大数据类型》

    redis学习教程二<四大数据类型>  四大数据类型包括:字符串    哈希    列表   集合一 : Redis字符串         Redis字符串命令用于管理Redis中的字符串 ...

  5. redis学习(二) redis数据结构介绍以及常用命令

    redis数据结构介绍 我们已经知道redis是一个基于key-value数据存储的数据结构数据库,这里的key指的是string类型,而对应的value则可以是多样的数据结构.其中包括下面五种类型: ...

  6. C# Redis学习系列二:Redis基本设置

    上一篇:C# Redis学习系列一:Redis的认识.下载.安装.使用 一.redis 设置密码 使用下载好的 redis-cli.exe 指令: 1.设置密码: config set require ...

  7. Redis学习系列二之.Net开发环境搭建及基础数据结构String字符串

    一.简介 Redis有5种基本数据结构,分别是string.list(列表).hash(字典).set(集合).zset(有序集合),这是必须掌握的5种基本数据结构.注意Redis作为一个键值对缓存系 ...

  8. Redis学习-基础环境介绍(二)

    1.通过VMware安装了Centos6.8系统 2.Reids安装过程,需要GCC环境 »通过下面命令,根据提示直接安装 1 yum install gcc 3.Redis选用的是3.2.4(建议使 ...

  9. 【Redis】Redis学习(二) master/slave、sentinel、Cluster简单总结

    项目中用到Redis,所以准备学习一下,感觉Redis的概念还是很多的,什么主从模式.sentinel模式.集群模式的,一下子都晕了,我觉得还是有必要先理清这些基本概念再说. 一.单节点实例 单节点实 ...

随机推荐

  1. thrift0.5入门操作

    在探索未知的程序之前,我们往往会使用“Hello World”这个经典的输出作为测试,为了遵循这个惯例,作为thrift菜鸟都不算的一员,决定跑一下“Hello world”正式进入菜鸟的行列. th ...

  2. python基础知识-11-函数装饰器

    python其他知识目录 1.装饰器学习前热身准备 1.1装饰器简介 1.2装饰器热身分析 ) def func(): pass v1 = v2 = func #将函数名赋予一个变量,就和变量赋值是同 ...

  3. mutt命令详解

    基础命令学习目录首页 linux命令——mutt的安装和使用[转] 首先介绍一下mutt这个软件,它是一款基于文字界面的邮件客户端,非常小巧,但功能强大,可以用它来读写,回复保存和删除你的邮件,能在l ...

  4. Python列表解析

    列表解析 根据已有列表,高效创建新列表的方式. 列表解析是Python迭代机制的一种应用,它常用于实现创建新的列表,因此用在[]中. 语法: [expression for iter_val in i ...

  5. centos下设置自启动和配置环境变量的方法

    1. 设置自启动 在CentOS系统下,主要有两种方法设置自己安装的程序开机启动.1.把启动程序的命令添加到/etc/rc.d/rc.local文件中,比如下面的是设置开机启动httpd. #!/bi ...

  6. 跟踪调试Linux内核的启动过程

    跟踪调试Linux内核的启动过程---使用gdb 符钰婧 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/UST ...

  7. vim搭建C编程IDE

    曾经在一篇关于vim技巧的文章里有一句话:"世界上只有三种编辑器,EMACS.VIM和其它." 我不知道这是不是太过于绝对了,但是从我所看到的每一篇linux下编程以及文字编辑的文 ...

  8. bata3

    目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示 ...

  9. arcgis for android apk太大

    原来大概都要20多M, 太大的原来是.so文件 arcgis for android api里面有armeabi armeabi-v7a  x86的 每个so都接近10m 要是都保留就20多m了 由于 ...

  10. AVL树/线索二叉树

    此文转载: http://www.cnblogs.com/skywang12345/p/3577360.html AVL树是一棵特殊的高度平衡的二叉树,每个节点的两棵子树高度最大差为1.所以在每次的删 ...