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

  我们说 Redis 相对于 Memcache 等其他的缓存产品,有一个比较明显的优势就是 Redis 不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。本篇博客我们就将介绍这些数据类型的详细使用以及顺带介绍Redis系统的相关命令用法。

注意:Redis的命令不区分大小写,但是key 严格区分大小写!!!

1、string 数据类型

  string 是Redis的最基本的数据类型,可以理解为与 Memcached 一模一样的类型,一个key 对应一个 value。string 类型是二进制安全的,意思是 Redis 的 string 可以包含任何数据,比如图片或者序列化的对象,一个 redis 中字符串 value 最多可以是 512M。

  string 数据类型在 Redis 中的相关命令:

表格图片引用:http://www.cnblogs.com/xrq730/p/8944539.html(下同)

  PS:上面的 ttl 命令是返回 key 的剩余过期时间,单位为秒。

  上面是 string 类型的基本命令,下面介绍几个自增自减操作,这在实际工作中还是特别有用的(分布式环境中统计系统的在线人数,利用Redis的高性能读写,在Redis中完成秒杀,而不是直接操作数据库。)。

2、hash 数据类型

  hash 是一个键值对集合,是一个 string 类型的 key和 value 的映射表,key 还是key,但是value是一个键值对(key-value)。类比于 Java里面的 Map<String,Map<String,Object>> 集合。

   演示如下:

3、list 数据类型

  list 列表,它是简单的字符串列表,按照插入顺序排序,你可以添加一个元素到列表的头部(左边)或者尾部(右边),它的底层实际上是个链表。

4、set 数据类型

  Redis 的 set 是 string 类型的无序集合。

5、zset 数据类型

  zset(sorted set 有序集合),和上面的set 数据类型一样,也是 string 类型元素的集合,但是它是有序的。

6、系统相关命令

7、key 相关命令

  关于 key 的命令应该说是最常用的,需要大家记住。

  这里在介绍一个命令 :

OBJECT ENCODING    key  

  这是用来显示这五种数据类型的底层数据结构,下一篇博客我们会详细介绍。

   上面的命令我们给string 数据类型 k1 复制str,给 k2 复制123,通过 OBJECT ENCODING 显示底层实现的数据类型分别是 embstr 和 int。这到底是什么呢?下篇博客我们会详细介绍的。 

参考文档:http://www.redis.cn/commands.html

     http://www.cnblogs.com/xrq730/p/8944539.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JMCui

Linux 学习记录 四(Bash 和 Shell scirpt).

一、什么是 Shell?        狭义的shell指的是指令列方面的软件,包括基本的Linux操作窗口Bash等,广义的shell则包括 图形接口的软件,...

4144
来自专栏Java 技术分享

Struts2 转换器

3057
来自专栏积累沉淀

Python快速学习第八天

本文内容全部出自《Python基础教程》第二版 10.1 模块 现在你已经知道如何创建和执行自己的程序(或脚本)了,也学会了怎么用import从外部模...

3236
来自专栏java一日一条

JAVA 动态代理

为了使代理类和被代理类对第三方有相同的函数,代理类和被代理类一般实现一个公共的interface,该interface定义如下

983
来自专栏青玉伏案

设计模式(五): 简单而又不失其重要性的单例模式(Singleton Pattern)

上篇博客我们系统的介绍了三种工厂模式,今天我们就来介绍一下单例模式。单例模式虽然简单,但是还是比较重要的,是常用设计模式之一。在之前的博客《Objective-...

2035
来自专栏架构之路

深入探讨 Java 类加载器

看到一篇写得非常好的加载器文章,转过来与大家分享一下(https://www.ibm.com/developerworks/cn/java/j-lo-class...

3614
来自专栏青玉伏案

ReactiveSwift源码解析(十二) MutableProperty基本代码实现

前两篇博客我们分别聊了ReactiveSwift框架中的负责标记对象的生命周期的类Lifetime以及负责原子性操作的Atomic类的具体代码实现。前两篇博客之...

1905
来自专栏Felix的技术分享

理解对C++裸指针释放后重用的问题

2349
来自专栏IMWeb前端团队

Zepto源码分析之ie模块

本文作者:IMWeb 谦龙 原文出处:IMWeb社区 未经同意,禁止转载 前言 ? Zepto中的ie模块主要是改写getComputedStyle...

1978
来自专栏Linux驱动

编译make的出错提示解决方案

编译出错笔记: start.s:20: Error: no such instruction: `ldr r0,=WTCON' 错误:没有这样的指令 解决...

18210

扫码关注云+社区

领取腾讯云代金券