zoukankan      html  css  js  c++  java
  • Redis基本知识(含数据类型)

    Redis基本知识

    Redis介绍

    Redis:REmote DIctionary Server,远程字典服务器。是完全开源免费,用C语言编写的一个高性能Key-Value分布式内存数据库.其基于内存运行,支持持久化,是最热门的NoSQL数据库之一。

    Redis具有消息中间件、发布订阅消息系统、定时器、计数器等功能。

    Redis优势

    • 基于内存运行,数据读写速度快
    • 支持丰富的数据类型,Sting、List、Set、Hash、Sorted Set
    • 支持事务,操作都是原子性
    • 支持数据持久化,将内存的数据保存在磁盘,可以再次加载使用
    • 支持数据的备份,采用Master-Slave模式数据备份

    Redis五大数据类型

    String

    String是最基本的类型,一个key对应一个value。String类型可以包含任何数据,比如jpg图片或序列化对象。String类型的值最大能存储512MB。

    SET name "csw"
    GET name
    //输出"csw"
    

    常用的指令:

    • SET key value,设置指定key的值
    • GET key,获取指定key的值
    • MSET,同时设置一个或多个key-value对
    Hash

    Hash是一个String类型的field和value的映射表,适合用于存储对象

    HMSET myhash name "csw" age "24"
    HGET myhash name
    //输出"csw"
    HGET myhash age
    //输出"24"
    

    常用的命令:

    • HGET key field,获取在哈希表中指定key的所有字段和值
    • HEXISTS key field,查看哈希表key中,指定的field是否存在
    • HDEL key field,删除key中,指定的字段
    • HEKYS key,获取所有key值
    List

    List是简单的字符串列表,按照插入顺序排序,可以在列表头部和尾部添加元素,底层是一个链表。

    LPUSH mylist a1
    LPUSH mylist a2
    LPUSH mylist a3
    LRANGE mylist 1 2
    //输出"a1" "a2"
    

    常用的命令:

    • BLPOP key,移出并获取列表的第一个元素
    • BRPOP key,移出并获取列表的最后一个元素
    • LPUSH key value,将第一个或多个值插入列表头部
    • RPUSH key value,将第一个或多个值插入列表尾部
    Set

    Set是String类型的无序集合,通过HashTable实现。添加、删除、查找的复杂度都是O(1)。

    SADD city beijing
    SADD city fuzhou
    SADD city putian
    SMEMBERS city
    //输出"beijing" "fuzhou" "putian"
    

    常用的命令:

    • SADD key member1,想集合添加一个或多个成员
    • SCARD key,获取集合的成员数
    • SMEMBERS key,返回集合中的所有成员
    Sorted Set

    有序集合Zset与Set一样是String类型的集合,不同的是每个元素会关联一个double类型的分数score,通过分数进行从小到大的排序,其中分数score可重复。

    ZADD price 3 pen
    ZADD price 5 apple
    ZADD price 50 dinner
    ZRANGEBYSCORE price 4 51
    //输出"apple" "dinner"
    

    常用的命令:

    • ZDD key score member1,向有序集合添加一个成员
    • ZCARD key,获取有序集合的成员数
  • 相关阅读:
    完全开源Android网络框架 — 基于JAVA原生的HTTP框架
    博客园—Android客户端
    撸一个Android高性能日历控件,高仿魅族
    Android开发登陆博客园的正确方式
    基于pthread的线程池实现
    重复造轮子系列——基于FastReport设计打印模板实现桌面端WPF套打和商超POS高度自适应小票打印
    重复造轮子系列——基于Ocelot实现类似支付宝接口模式的网关
    零基础ASP.NET Core WebAPI团队协作开发
    零基础ASP.NET Core MVC插件式开发
    jquery对下拉框的操作
  • 原文地址:https://www.cnblogs.com/chenshaowei/p/12551110.html
Copyright © 2011-2022 走看看