zoukankan      html  css  js  c++  java
  • Redis的5中数据类型及应用场景

    Redis的全称是Remote Dictionary Server,本质上是一个Key-Value类型的内存数据库,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据Flush到硬盘行保存。因为是纯内存操作,Redis的性能很出色,可每秒10w次读写,是已知性能最快的Key-Value DB。此外Redis支持保存多种数据结构,单个value的最大限制是1GB,可以用来实现很多有用的功能。比如用List来实现FIFO双向链表,实现一个轻量级的高性能消息队列服务;set可以做高性能的tag系统等。此外Redis还可以对存入的key-value设置expire时间。但是Redis缺点就是数据库容量很容易受到屋里内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。

    五种数据类型

    • String 字符串:是二进制安全的,可以包含任何数据,比如JPG图片或者序列化以后的对象,是最基本的数据类型,一个键最大能存512MB。格式 set key value
    • Hash 哈希:是一个键值对集合。是一个string类型的field与value的映射表,hash特别适合存储对象。格式:hmset name key1 value1 key2 value2
    • List 列表:列表是简单的字符串列表,按照插入顺序排序,可以添加一个元素到列表的头部或者尾部。

       格式:Ipush name value  在key对应list的头部添加字符串元素

       格式:rpush name value  在key对应list的尾部添加字符串元素

    • set 集合:是string类型的无序集合。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。格式:sadd name value
    • zset 有序集合:是string类型元素的集合,不允许重复。每个元素都会关联一个double类型的分数,Redis通过这个分数对集合成员进行从小到大的排序。
  • 相关阅读:
    JSON 在 IE 下不执行的问题
    一些UTF8编码问题
    如果你也想做一个Pinterest?
    关于apache虚拟机的NameVirtualHost错误
    如何玩转数据库设计
    mysql 导入数据时 max_allowed_packet 的问题
    几个练习题
    数组,for语句(补10.11)
    MySql数据库
    js基础(补10.10)
  • 原文地址:https://www.cnblogs.com/wangyongwen/p/11487354.html
Copyright © 2011-2022 走看看