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

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

内容简介: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:获取全部的值

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

查看所有标签

猜你喜欢:

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

旷世之战――IBM深蓝夺冠之路

旷世之战――IBM深蓝夺冠之路

纽伯 / 邵谦谦 / 清华大学出版社 / 2004-5 / 35.0

本书作者Monty Neworn是国际计算机象棋协公的主席,作者是用生动活泼的笔触描写了深蓝与卡斯帕罗夫之战这一引起全世界关注的历史事件的前前后后。由于作者的特殊身份和多年来对计算机象棋的关心,使他掌握了许多局外人不能得到的资料,记叙了很多鲜为人知的故事。全书行文流畅、文笔优美,对于棋局的描述更是跌宕起伏、险象环生,让读者好像又一次亲身经历了那场流动人心的战争。 本书作为一本科普读物......一起来看看 《旷世之战――IBM深蓝夺冠之路》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

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

HSV CMYK互换工具