1.类型

redis 的主要数据类型:

  1.1 string 字符串类型<*是其它4种类型的基础>

  1.2 hash 散列类型

  1.3 list 列表类型

  1.4 set 集合类型

  1.5 zset 有序集合类型

2. 使用

  2.1 string

    其他4种类型的基础

  2.2 hash

    适用于存储对象

    hset key field value
    hget key field

  2.3 list

    内部使用双向列表实现,可实现队列。

    a) 可以向列表中两端添加元素

    b) 获得列表的某一片段

    lpush key value [value ...]
    rpush key value [value ...]     lpop key
    rpop key     llen key     #取指定片段  
    lrange key start stop

  2.4 set

    集合中的每个元素都是不同的,且没有顺序的。

    常用操作:

    a) 加入或删除元素

    b) 判断某个元素是否存在

    c) 并集、交集、差集运算

    #增加删除元素
    sadd key member [member ...]
    srem key member [member ...]     #获取集合中的所有元素
    smembers key     #判断元素是否存在
    sismember key member     #获得集合中的元素个数
    scard key
    # 差集
    sdiff key [key ...]
    # 交集
    sinter key [key ...]
    # 并集
    sunion key [key ...]
  集合类型 set 列表类型 list
存储内容 至多2e32-1个字符串 至多2e32-1个字符串
有序性
唯一性

   2.5 有序集合类型 zset/sorted set

    在集合类型上每个元素都关联了一个分数,利用分数来进行排序等操作

    和列表的比较:

      a) 列表类型通过链表实现,存取两头的数据快,数据量大时中间的数据存取慢;

      b) 有序集合是通过散列表和跳跃表实现的,存取数据的速度和位置没有关系,即使数据位于中间,也可以很快存取;

      c) 列表不能简单的调整某个元素的位置,但有序集合可以(通过调整这个元素的分数);

      d) 有序集合要比列表耗费内存;

      #增加元素
      zadd key score member [score member ...]       #获取元素分数
      zscore key member       # 指定分数范围的元素列表 withscores 表示是否要显示分数
      zrange key start stop [withscores]       #按分数区间顺序输出
      zrangebyscore key min max [withscores]       #增加某个元素的分数
      zincrby key increment member       #集合数量
      zcard key       #指定分数范围的元素个数
      zcount key min max       #移除一个或多个元素
      zrem key member [member ...]       # 获得元素排名
      zrank key member
      zrevrank key member

redis 主要数据类型及使用的更多相关文章

  1. Redis常用数据类型介绍、使用场景及其操作命令

    Redis常用数据类型介绍.使用场景及其操作命令 本文章同时也在cpper.info发布. Redis目前支持5种数据类型,分别是: 1.String(字符串) 2.List(列表) 3.Hash(字 ...

  2. Redis笔记(三)Redis的数据类型

    前面说过,Redis的一大特性是支持丰富的数据类型, 这为更多的应用场景提供了可能. Redis有五种数据类型,包括string,list,set,sorted set和hash,注意,Redis的数 ...

  3. Redis常用数据类型

    Redis常用数据类型 转载自:http://blog.sina.com.cn/s/blog_7f37ddde0101021q.html     Redis最为常用的数据类型主要有以下五种: ●Str ...

  4. Redis基本数据类型

    -------------------Redis基本数据类型------------------- 1.String 字符串     1.概念         1.String 是redis最基本的类 ...

  5. Redis常用数据类型和事物以及并发

    Redis数据类型 基本类型(String int): 如 set key value .get key 等 所有命令都是按照 key value keys * 可以将全部数据列出,其中后面的 &qu ...

  6. Redis五大数据类型的常用操作

    在上一篇博文<centos安装redis>中,已经详细介绍了如何在centos上安装redis,今天主要介绍下Redis五大数据类型及其五大数据类型的相关操作. Redis支持五种数据类型 ...

  7. redis的数据类型及使用

    Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...

  8. Redis系列(二):Redis的数据类型及命令操作

    原文链接(转载请注明出处):Redis系列(二):Redis的数据类型及命令操作 Redis 中常用命令 Redis 官方的文档是英文版的,当然网上也有大量的中文翻译版,例如:Redis 命令参考.这 ...

  9. 一、Redis的数据类型

    一Redis的数据类型 string:字符串 hash:哈希 list:列表 set:集合 zset:有序集合(sorted set) 1.string(字符串) redis最基本的类型.可以理解成与 ...

  10. Redis的数据类型及其常用命令

    快速入门Redis 首先安装redis: windows下安装redis Linux下安装redis 1. 什么是redis Redis属于nosql(非关系型数据库) 关系型数据库是基于关系表的数据 ...

随机推荐

  1. HDU 1994 利息计算 数学题

    解题报告:算利息的,不过一开始格式控制符里面少写了一个%lf,一直没看到,愣是没找到错误,唉! #include<cstdio> int main() { int T; scanf(&qu ...

  2. D - Doing Homework HDU - 1074 (状压dp)

    题目链接:https://cn.vjudge.net/contest/68966#problem/D 具体思路:我们可以把每个情况都枚举出来,然后用递归的形式求出最终的情况. 比如说 我们要求  10 ...

  3. Go语言的接口interface、struct和组合、继承

    Go语言的interface概念相对于C++中的基类,通过interface来实现多态功能. 在C++中,当需要实现多态功能时,步骤是首先定义一个基类,该基类使用虚函数或者纯虚函数抽象了所有子类会用到 ...

  4. linux中set、unset、export、env、declare,readonly的区别以及用法

    set命令显示当前shell的变量,包括当前用户的变量;   env命令显示当前用户的变量;   export命令显示当前导出成用户变量的shell变量.           每个shell有自己特有 ...

  5. SELinux 入门【转】

    一.前言 安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统.SELinux 主要由美国国 ...

  6. Linux的bg和fg命令 ---让程序在前台后台之间切换

    Linux的bg和fg命令 我们都知道,在 Windows 上面,我们要么让一个程序作为服务在后台一直运行,要么停止这个服务.而不能让程序在前台后台之间切换.而 Linux 提供了 fg 和 bg 命 ...

  7. OSGiBundle出现 Could not find bundle: org.eclipse.equinox.console的解决方案

    按照网上教程创建OSGI HelloWorld实例配置run configuration时出现Could not find bundle: org.eclipse.equinox.console 和C ...

  8. python网络编程--线程Semaphore(信号量)

    一:Semaphore(信号量) 互斥锁 同时只允许一个线程更改数据,而Semaphore是同时允许一定数量的线程更改数据 ,比如厕所有3个坑,那最多只允许3个人上厕所,后面的人只能等里面有人出来了才 ...

  9. linux下Ctrl命令组合

    1.键盘组合键操作 ctrl-c 发送 SIGINT 信号给前台进程组中的所有进程.常用于终止正在运行的程序. ctrl-z 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程.  ...

  10. javaweb笔记二

    web服务器:实现服务器的开启,监听端口,接收客户端请求,产生响应.响应信息只能是静态的HTML,缺乏灵活性.web容器:是辅助应用的一种方式,是为了解决web服务器缺陷而产生的.可以将请求信息处理完 ...