Redis数据库,是nosql的一种。与传统关系型数据库(如mysql、sqlserver等)相比,他在处理大数据量上相当有优势,扩展性和可用性高,这是传统型数据库所达不到的。

Redis是一个key-value的存储系统,数据保存在内存中,速度自然很快。Redis支持的Value类型很多,也就是我们今天要说的数据类型。

1、string

最常用也最简单的数据类型,存放普通的key-value,虽然是String,但vlaue不仅仅只是字符串,也可以是数字。

来看一个简单的demo:

1)进入redis客户端

2)设置

3)获取

如果想看的更直观一些,可以在图形化工具中查看,db0中已经新建了一个“name”的key。

string类型key-value是一一对应的,如果新建的key值已经存在,则会覆盖原有值。

2、hash

hash类型的一大特点就是它可以方便存取整个对象。

如果不使用hash,我们可能采用序列化的方式来操作。将要存储的对象以序列化的方式存储,使用set命令,类似string的操作。

这种做法耦合性大,需要序列化/反序列化,适合数据量小的操作。

但如果数据量很大的话,该怎么办?

3、list

链表结构,提供push、pop等方法,可以实现栈、队列等数据结构方式。

1)栈

典型特点:先进后出

lpush命令:从头部压入元素

m1中的的元素one最先进入,最后被删除。

2)队列

特点:先进先出

使用rpush加入元素,lpop删除元素。

4、set

java基础——集合中就提到,set是一个元素不重复的无序集合。

常用操作:实现集合的差、交和并集。

以差集为例:

sinter :交集

sunion:并集

操作都很简单,就不一一列举了。

5、sorted sets

特点:set类型的升级版,该类型是有序的。

因为是有序的,在添加元素的时候需要指定顺序。

这几种数据类型相关的操作很多都是类似的,比如添加一个key的value值,在string中使用set命令,hash中是hset,set是sadd等等,只不过是命令的名字稍有不同罢了,掌握一种其他的都很容易的。这里,小编将这些基本操作整理了一下,突然发现redis的功能还不少呢。

Redis数据类型及操作详解的更多相关文章

  1. VC++常用数据类型及其操作详解

    原文地址:http://blog.csdn.net/ithomer/article/details/5019367 VC++常用数据类型及其操作详解 一.VC常用数据类型列表 二.常用数据类型转化 2 ...

  2. redis之数据操作详解

    redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...

  3. nosql Redis命令操作详解

    Redis命令操作详解 一.key pattern 查询相应的key (1)redis允许模糊查询key 有3个通配符 *.?.[] (2)randomkey:返回随机key (3)type key: ...

  4. Redis的事务功能详解

    Redis的事务功能详解 MULTI.EXEC.DISCARD和WATCH命令是Redis事务功能的基础.Redis事务允许在一次单独的步骤中执行一组命令,并且可以保证如下两个重要事项: >Re ...

  5. redis.conf配置信息详解

    redis.conf配置信息详解 配置文件 # Redis 配置文件 # 当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写) # # 1k =& ...

  6. redis 五种数据结构详解(string,list,set,zset,hash)

    redis 五种数据结构详解(string,list,set,zset,hash) Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存 ...

  7. [Android新手区] SQLite 操作详解--SQL语法

    该文章完全摘自转自:北大青鸟[Android新手区] SQLite 操作详解--SQL语法  :http://home.bdqn.cn/thread-49363-1-1.html SQLite库可以解 ...

  8. NoSQL之Redis高级实用命令详解--安全和主从复制

    Android IOS JavaScript HTML5 CSS jQuery Python PHP NodeJS Java Spring MySQL MongoDB Redis NOSQL Vim ...

  9. MySQL 操作详解

    MySQL 操作详解 一.实验简介 本节实验中学习并实践 MySQL 上创建数据库.创建表.查找信息等详细的语法及参数使用方法. 二.创建并使用数据库 1. 创建并选择数据库 使用SHOW语句找出服务 ...

随机推荐

  1. c# 常用数据库封装

    我不为大家贴代码了,没有意思,有点多,我主要给大家介绍一下,源码会上传CSDN和GIT:我定义了一个ADO.NET操作接口,所有按照接口封装 1.sqlite数据库(需要SQLite.Interop. ...

  2. vue 父子组件相互传值

    子传父 逻辑: 单击子组件的按钮 ,触发它的单击事件   通过 $emit 触发父级自定义事件 并传一个值给父级 <div id="id"> <h3>儿子 ...

  3. jquery获取父级元素、子级元素、兄弟元素

    1:$(this).parent(expr) 找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$("span").parent ...

  4. MySql指令的执行顺序

    1:From 2:On 3:Join 4:Where 5:Group by 5.1:函数 6:Having 7:Select 8:Distinct 9:Order by

  5. less学习三---父选择器

    引用父选择器需要用到“&”符号 &运算符表示嵌套规则的父选择器,并且在修改类或伪类选择器的应用中非常普遍 ul{ li{ &:nth-child(2) a { color: r ...

  6. what is feeding and what is 读扩散 and 写扩散?

    what is feeding? 通俗点说feed系统就是当你登陆进对应网站后:微信朋友圈的动态.人人网上看到的一件件新鲜事.新浪微博上推到你面前的一条条新围脖等等.系统中的每一条消息就是一个feed ...

  7. 关于使用array_rand随机取出数组的值

    代码如下 <?php echo "<meta charset='utf-8'/>";//选择解码方式,防止乱码现象 $a = array("abc&qu ...

  8. PADS快捷键

    问:在pads layout中怎样显示或隐藏铺铜的效果 答: 无模命令:po 或者spo 前者是平面层 后者是混合层. 同时你可以在ctrl+alt+c 色彩项中关闭 copper . 使用 无模命令 ...

  9. 如何在hadoop中使用外部的python程序文件

    业务场景大概是这样,我需要在公司hadoop集群上对博文进行结巴分词.我的数据是存储在hive表格中的,数据量涉及到五百万用户三个月内发的所有博文. 首先对于数据来说,很简单,在hive表格中就是两列 ...

  10. python学习之面向对象程序设计的一些思考

    将属于一类的对象放在一起: 如果一个函数操纵一个全局变量,那么两者最好都在类内作为特性和方法实现. 不要让对象过于亲密: 方法应该只关心自己实例的特性,让其他实例管理自己的状态. 简单就好: 让方法小 ...