内容简介: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
- 释义:字符类型
- 底层结构:简单的key-value
- 限制:每个string能够包含的最大容量是512M
-
编码格式
1)int:整数值,这个整数值可以使用long类型来表示,如果是浮点数,那就用embstr或者raw编码
2) embstr:字符串值,这个字符串值的长度小于39字节
3) raw:字符串值,这个字符串值的长度大于39字节 -
embstr和raw的区别:
1)raw分配内存和释放内存的次数是两次,embstr是一次
2)embstr编码的数据保存在一块连续的内存里面 -
常用命令
get:获取
mget:批量获取
set:设置
mset:批量设置
strlen:长度
hash
- 释义:哈希表
- 用途:常用于存储结构化数据
- 底层结构:哈希表
- 限制:每个hash存储的上限为2的32次方个
-
编码格式
1)ziplist:跳表,key和value的字符串长度都小于64字节,键值对总数量小于512
2) hashtable:哈希表,key和value的字符串长度大于64字节,键值对总数量大于512 -
编码之间的转换
原本是ziplist编码的,如果保存的数据长度太大或者元素数量过多,会转换成hashtable编码的。 -
常用命令
基础命令
hset:设定 hmset:批量设定 hget:获取 hmget:批量获取 hexists:存在判断 hsetnx:不存再则设定 hdel:删除 hgetall:获取全部 hlen:长度
其他命令
hincrby:自增长 hkeys:获取全部的keys hvals:获取全部的值
list
- 释义:有序列表
- 用途:可做简单队列
- 底层结构:双向链表
- 限制:一个list的最大长度是2的32次方
-
编码格式
1)ziplist:字符串元素的长度都小于64个字节,总数量少于512个
2) linkedlist:字符串元素的长度大于64个字节||总数量大于512个 -
编码之间的转换
原本是ziplist编码的,如果保存的数据长度太大或者元素数量过多,会转换成linkedlist编码的 -
常用命令
基础
llen:长度 lrange:切片 lpop/rpop:弹出 lpush/rpush:添加 lrem:删除
数组
lindex:按索引检索 lset:按索引赋值
其他
ltrim:保留片段 lpoplpush:移动
set
- 释义:无序列表(去重)
- 用途:提供一系列的交集、并集、差集的命令
- 底层结构:
- 限制:一个set的最大长度是2的32次方
-
编码格式
1)intset:保存的元素全都是整数,总数量小于512
2) hashtable:保存的元素不是整数,总数量大于512 -
编码之间的转换
原本是intset编码的,如果保存的数据不是整数值或者元素数量大于512,会转换成hashtable编码的。 -
常用命令
基础
sadd:添加 srem:删除 smembers:获取全部元素 slsmember:判断存在
集合操作
sdiff:去同 sinter:交集 sunion:并集
其他
srandommember:获取随机元素 spop:随机弹出元素 sdiffstore:去同保存 sinterscore:交集保存 sunionscore:并集保存
sortedset
- 释义:有序集合映射(member-score)
- 用途:常用作排行榜
- 底层结构:
- 限制:一个set的最大长度是2的32次方
-
编码格式
1)ziplist:元素长度小于64,总数量小于128
2) skiplist:元素长度大于64,总数量大于128 -
编码之间的转换
原本是ziplist编码的,如果保存的数据长度大于64或者元素数量大于128,会转换成skiplist编码
有序集合(sortset)对象同时采用skiplist和哈希表来实现 -
常用命令
基础
hset:设定 hmset:批量设定 hget:获取 hmget:批量获取 hexists:存在判断 hsetnx:不存再则设定 hdel:删除 hgetall:获取全部 hlen:长度
其他
hincrby:自增长 hkeys:获取全部的keys hvals:获取全部的值
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JavaScript语言精髓与编程实践
周爱民 / 电子工业出版社 / 2012-3 / 79.00元
《JavaScript语言精髓与编程实践(第2版)》详细讲述JavaScript作为一种混合式语言的各方面特性,包括过程式、面向对象、函数式和动态语言特性等,在动态函数式语言特性方面有着尤为细致的讲述。《JavaScript语言精髓与编程实践(第2版)》的主要努力之一,就是分解出这些语言原子,并重现将它们混合在一起的过程与方法。通过从复杂性到单一语言特性的还原过程,读者可了解到语言的本质,以及“层......一起来看看 《JavaScript语言精髓与编程实践》 这本书的介绍吧!
CSS 压缩/解压工具
在线压缩/解压 CSS 代码
Markdown 在线编辑器
Markdown 在线编辑器