2016-12-21 14:54:20


该系列文章链接
NoSQL 数据库简介
Redis的安装及及一些杂项基础知识
Redis 的常用五大数据类型(key,string,hash,list,set,zset)
Redis 配置文件介绍
Redis 持久化之RDB
Redis 持久化之AOF
Redis 主从复制
Redis 事务
Redis 发布与订阅

Redis jedis 介绍


Redis 相对其它类型的 NoSQL 数据库而言,更出彩的一点就是有更多的数据类型共使用者选择。

学习任意一门技术,都应该从官网入手,Redis官网(https://redis.io/)Redis 中文网(http://www.redis.cn/)(华为建立的)
本系列文章只讲常用命令,对于完整命令及信息可以翻阅 Redis 命令参考(http://redisdoc.com/index.html)
既然 Redis 属于键值对类型数据库,那么接下来来看看独属于键的命令吧

一.key

1.keys pattern:在本数据库中查找对应某种格式的键

  找到本数据库中所有的键(* 代表1个或多个字符):keys *
       
       2. 找到 study 名称下所有的数据库:keys study:*
       
    3.exists key:判断 key 键是否存在
        查找 study:string:k2 和 study:string:k4 键值是否存在:
            
    4.move key db:将 key 键移到 db 数据库中
           
    5.type key:求出 key 键的类型
           
    6.expire key seconds:设置 key 的过期时间
           
    7.ttl key :查询 key 的过期时间
          
    二. string
    string 是字符串,key:value 键值对
    string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。
string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。
string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M
    1.set/get/append string_name value
      incr/incrby decr/decrby
    若是 value 仅是数字,则可以用 incr/incrby decr/decrby 对 value 做加减操作
       

2.strlen
    求字符串的长度
       

3.getrange/setrange
    截取总串中的部分字符串
       
    4.setex/setnx
        setex:创建键值和过期时间
           
        setnx:set if not exists
           
    5.mset/mget/msetnx
        对多个 string 进行操作
       
        这张图是关于三个命令的操作,以及一些特殊情况
        mset key value [key]:若值已存在,则 value 覆盖旧值,如果不希望的话,则使用 msetnx
        msetnx:只会在所有给定 key 都不存在的情况下进行操作
    6.getset
        先取值再设置值
       

三.hash
    Redis hash 是一个键值对集合。
    Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
    1.hset/hget/hmset/hmget/hgetall/hdel
       
    2.hlen
  同上
    3.hexists
  同上
    4.hincrby/hincrbyfloat
       
    5.hsetnx
       

四.list

  Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。

  它的底层实际是个链表
    1.lpush/rpush/lrange/lpop/rpop    
       
       
        lpush 入 list,可以把 list 当作栈来用
        rpush 入 lsit,可以把 list 当作队列来用
    2.llen/lindex
       
    3.lrem
        lrem key count value:删除 key 中重复的值
       
    4.ltrim
        ltrim key begin end
       
    5.rpoplpush
       
    6.lset key index value
      linsert key before/after value new_value
        这两个是在 list 中间插入的命令,效率很低,有兴趣的可以自己试试
    8.list 总结
    它是一个字符串链表,left、right都可以插入添加。
    如果键不存在,创建新的链表;如果键已存在,新增内容;如果值全移除,对应的键也就消失了。
    链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就很差了。
    五.set

  Redis的Set是string类型的无序集合。它是通过HashTable实现实现的,

  set 是一个集合,既然是集合,那么就是无序,不可重复的。
        1.sadd/srem/smembers/sismember
           
        2.scard
           

3.srandmember
           
        4.spop
           
        5.smove
            把 set1 中的元素 移到 set2 中
           
        6.数学集合类
        差集:sdiff
        并集:sunion
        交集:sinter


    六.zset:sorted set

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

  不同的是每个元素都会关联一个double类型的分数。

  redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。
    1.zadd/zrem/zscore
       
    2.zcard/zcount
       
    3.zrange//zrangbyscore/zrank
       
        zrangebyscore 命令仔细使用一下
        http://redisdoc.com/sorted_set/zrangebyscore.html
    4.zrevrange/zrevrangebyscore/zrevrank
        这个自己去写写看

3 Redis 的常用五大数据类型的更多相关文章

  1. Redis常用五大数据类型

    1.String(字符串) string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象 . string类型是Redis最基本的数据类型,一个red ...

  2. 4-4 Redis 的常用配置

    2016-12-22 15:30:43 本篇文章属于Redis 系列第四篇文章:Redis 配置文件介绍 该系列文章链接 NoSQL 数据库简介 Redis的安装及及一些杂项基础知识 Redis 的常 ...

  3. Redis系列---操作命令及数据类型

    本章将简单介绍下,Redis里面常用的数据类型以及我们常用到的一些命令,let's go 准备环境: Redis  详细见上一个章节 我们接下来操作的命令用的是Redis自带的客户端工具,在安装red ...

  4. redis五大数据类型以及常用操作命令

    Redis的五大数据类型 String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value.string类型是二进制安全的.意 ...

  5. 解析Redis操作五大数据类型常用命令

    摘要:分享经常用到一些命令和使用场景总结,以及对Redis中五大数据类型如何使用cmd命令行的形式进行操作的方法. 本文分享自华为云社区<Redis操作五大数据类型常用命令解析>,作者:灰 ...

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

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

  7. 《Redis入门指南(第二版)》读书思考总结之Redis五大数据类型

    热身:系统级命令 1. 获得符合规则的键名列表 KEYS pattern 模式匹配 产品的缓存:product+"."+....;  => keys product* 订单的 ...

  8. Redis数据库 01概述| 五大数据类型

    1.NoSQL数据库简介 解决应用服务器的CPU和内存压力:解决数据库服务的IO压力: ----->>> ① session存在缓存数据库(完全在内存里),速度快且数据结构简单: 打 ...

  9. Redis五大数据类型详解

    关于Redis的五大数据类型,它们分别为:String.List.Hash.Set.SortSet.本文将会从它的底层数据结构.常用操作命令.一些特点和实际应用这几个方面进行解析.对于数据结构的解析, ...

随机推荐

  1. 为什么导入本地jquery.js老是无效?(已解决)

    我从jquery官网里复制过来jquery.js内容,然后粘贴到本地,但是引用的时候总是无效. 在翻看脚本所在目录,无意间发现脚本文件是个jquery.js.js,    原来是我的文件的扩展名的问题 ...

  2. &和&&的共同点和区别、Java字符含义和Java创建对象的几种方式

    一.&和&&的共同点和区别 1.&和&&的联系(共同点): &和&&都可以用作逻辑与运算符,但是要看使用时的具体条件来决定. 操 ...

  3. [Swift]LeetCode10. 正则表达式匹配 | Regular Expression Matching

    Given an input string (s) and a pattern (p), implement regular expression matching with support for  ...

  4. [Swift]LeetCode306. 累加数 | Additive Number

    Additive number is a string whose digits can form additive sequence. A valid additive sequence shoul ...

  5. Truncated incorrect DOUBLE value: 'd'的解决方法(jdbc)

    今天写jdbc中dao的增删改查时遇到了一个问题,花费了好长时间,不过还好,有我峰哥出头,问题解决了,在这做个分享,对峰哥表达一下感激之情 网上搜索到的对“Truncated incorrect DO ...

  6. Kafka对Java程序员有多重要?连阿里都再用它处理亿万级数据统计

    一.了解淘宝Kafka架构 在ActiveMQ.RabbitMQ.RocketMQ.Kafka消息中间件之间,我们为什么要选择Kafka?下面详细介绍一下,2012年9月份我在支付宝做余额宝研发,20 ...

  7. Python内置函数(51)——property

    英文文档: class property(fget=None, fset=None, fdel=None, doc=None) Return a property attribute. fget is ...

  8. 前端打包成桌面应用、以及chrome扩展

    前段时间在利用工作之余开发了tomato timer这个蕃茄钟,然后部署到github.io上,由于greatway太厉害,偶尔会有打不开的情况.上周末对比做了扩展和改进,使其成为chrome的插件, ...

  9. 使用docker-compose来部署开发环境

    docker-compose的作用 docker-comopse可以帮助我们快速搭建起开发环境,比如你可以去把redis,mongodb,rabbitmq,mysql,eureka,configser ...

  10. 程序员过关斩将--面试官再问你Http请求过程,怼回去!

    菜菜哥,X总在产品部瞎指挥,作为程序媛的我都快撑不住了 不光你撑不住了,大家都要撑不住了,外行人指导内行人,呵呵 前天我偷偷的去面试了,结果挂了 出去转转其实是好事,面试官问你什么了? 他让我描述一个 ...