redis常用知识点之基础数据类型

栏目: 数据库 · 发布时间: 7年前

内容简介:Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助

概述

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助

基础数据类型

string

  1. 释义:字符类型
  2. 底层结构:简单的key-value
  3. 限制:每个string能够包含的最大容量是512M
  4. 编码格式
    1)int:整数值,这个整数值可以使用long类型来表示,如果是浮点数,那就用embstr或者raw编码
    2) embstr:字符串值,这个字符串值的长度小于39字节
    3) raw:字符串值,这个字符串值的长度大于39字节
  5. embstr和raw的区别:
    1)raw分配内存和释放内存的次数是两次,embstr是一次
    2)embstr编码的数据保存在一块连续的内存里面
  6. 常用命令
    get:获取
    mget:批量获取
    set:设置
    mset:批量设置
    strlen:长度

hash

  1. 释义:哈希表
  2. 用途:常用于存储结构化数据
  3. 底层结构:哈希表
  4. 限制:每个hash存储的上限为2的32次方个
  5. 编码格式
    1)ziplist:跳表,key和value的字符串长度都小于64字节,键值对总数量小于512
    2) hashtable:哈希表,key和value的字符串长度大于64字节,键值对总数量大于512
  6. 编码之间的转换
    原本是ziplist编码的,如果保存的数据长度太大或者元素数量过多,会转换成hashtable编码的。
  7. 常用命令

    基础命令

    hset:设定
       hmset:批量设定
       hget:获取
       hmget:批量获取
       hexists:存在判断
       hsetnx:不存再则设定
       hdel:删除
       hgetall:获取全部
       hlen:长度

    其他命令

    hincrby:自增长
       hkeys:获取全部的keys
       hvals:获取全部的值

list

  1. 释义:有序列表
  2. 用途:可做简单队列
  3. 底层结构:双向链表
  4. 限制:一个list的最大长度是2的32次方
  5. 编码格式
    1)ziplist:字符串元素的长度都小于64个字节,总数量少于512个
    2) linkedlist:字符串元素的长度大于64个字节||总数量大于512个
  6. 编码之间的转换
    原本是ziplist编码的,如果保存的数据长度太大或者元素数量过多,会转换成linkedlist编码的
  7. 常用命令

    基础

    llen:长度
       lrange:切片
       lpop/rpop:弹出
       lpush/rpush:添加
       lrem:删除

    数组

    lindex:按索引检索
       lset:按索引赋值

    其他

    ltrim:保留片段
       lpoplpush:移动

set

  1. 释义:无序列表(去重)
  2. 用途:提供一系列的交集、并集、差集的命令
  3. 底层结构:
  4. 限制:一个set的最大长度是2的32次方
  5. 编码格式
    1)intset:保存的元素全都是整数,总数量小于512
    2) hashtable:保存的元素不是整数,总数量大于512
  6. 编码之间的转换
    原本是intset编码的,如果保存的数据不是整数值或者元素数量大于512,会转换成hashtable编码的。
  7. 常用命令

    基础

    sadd:添加
       srem:删除
       smembers:获取全部元素
       slsmember:判断存在

    集合操作

    sdiff:去同
       sinter:交集
       sunion:并集

    其他

    srandommember:获取随机元素
       spop:随机弹出元素
       sdiffstore:去同保存
       sinterscore:交集保存
       sunionscore:并集保存

sortedset

  1. 释义:有序集合映射(member-score)
  2. 用途:常用作排行榜
  3. 底层结构:
  4. 限制:一个set的最大长度是2的32次方
  5. 编码格式
    1)ziplist:元素长度小于64,总数量小于128
    2) skiplist:元素长度大于64,总数量大于128
  6. 编码之间的转换
    原本是ziplist编码的,如果保存的数据长度大于64或者元素数量大于128,会转换成skiplist编码
    有序集合(sortset)对象同时采用skiplist和哈希表来实现
  7. 常用命令

    基础

    hset:设定
       hmset:批量设定
       hget:获取
       hmget:批量获取
       hexists:存在判断
       hsetnx:不存再则设定
       hdel:删除
       hgetall:获取全部
       hlen:长度

    其他

    hincrby:自增长
       hkeys:获取全部的keys
       hvals:获取全部的值

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Algorithms for Image Processing and Computer Vision

Algorithms for Image Processing and Computer Vision

Parker, J. R. / 2010-12 / 687.00元

A cookbook of algorithms for common image processing applications Thanks to advances in computer hardware and software, algorithms have been developed that support sophisticated image processing with......一起来看看 《Algorithms for Image Processing and Computer Vision》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具