数码资讯
基于密钥/值数据库redis和ttserver经验
首先,说redis Redis是一个关键的/值存储系统类似memcached,它支持值类型比较多,包括字符串(String),列表(链表),设置(设置)和zset(序集)。在此基础上,redis支持各种不同方式的排序。与memcached,在为了确保效率,数据缓存在内存中。不同的是,Redis会周期
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
首先,说redis
Redis是一个关键的/值存储系统类似memcached,它支持值类型比较多,包括字符串(String),列表(链表),设置(设置)和zset(序集)。在此基础上,redis支持各种不同方式的排序。与memcached,在为了确保效率,数据缓存在内存中。不同的是,Redis会周期性地将更新的数据到磁盘或修改操作写入追加记录。(这个人感觉Redis比数据存储缓存安全),并在此基础上,主人-奴隶(主从)实现同步。
使用具有高的访问性能,操作110000次,得到的操作81000次(速度很好!)。
redis提供不同的存储类型的对象不同的命令。
Redis目前提供了四种类型的数据:字符串,列表,设置,和zset(排序)。
线是最简单的类型,你可以理解为一种类型的缓存与第一次模拟考试,一个键对应一个值,类似于其支持的操作和缓存操作。但它有更多的功能。
链表是一种链式结构,具有推送、POP、范围的所有值等主要功能,在操作中,键被理解为链表的名称。
集合是一个集合,类似于我们数学中的集合概念。该集合的操作是添加和删除的,有许多交集和差异,在操作中,键被理解为集合的名称。
zset升级版是集。在集合的基础上,他添加了一个序列属性。可以在添加修改元素时指定此属性。之后的每一个任务,zset将根据新值自动调整新的价值。这是可以理解的,有两列的表格,存储在一个列值,记忆的一个序列。在操作中,关键是理解为zset的名字。
Redis命令如下:
适用于所有类型的命令
存在键决定键是否存在;返回的是1;否则返回0;
Del键删除键,或一系列的关键;德尔KEY1 KEY2 KEY3密钥
式按键返回一个关键元素的数据类型(无:不存在,字符串字符,列表,集合,zset,哈希)
键模式返回匹配的键列表(键:*:在开始时找到键)
randomkey随机获得一个现有的关键,如果当前数据库为空,返回一个空字符串
重命名oldname newname变化项的名称,和新的密钥将被覆盖如果它存在
renamenx oldname newname变化关键的名字,如果名字存在,改变不能
关键是dbsize返回当前数据库的总数
过期设置一个关键的过期时间(秒),(到期布鲁斯1000:布鲁斯key1000秒设定后,自动删除系统)。注意:如果该值在未过期时更改,则该值将被清除。
TTL查找一个键,它已经过期了多长时间,并返回时间秒。
选择索引选择数据库
移动键dbindex移动指定的键从当前数据库到目标数据库dbindex。成功返回1;否则返回0(源数据库不存在密钥或目标数据库具有相同名称的关键);
flushdb清除所有键在当前数据库
flushall清除所有键中的所有数据库
处理字符串的命令
设置关键值设置一个字符串值,一个key.set控制台数据长度数据(布鲁斯10 paitoubing:保存键是Burce,字符串长度为10到一个字符串paitoubing数据库)、数据不能超过最大。
获取键获得某个键的值值。如果键不存在,则返回一个字符串为零;如果键的值不是String类型,则返回错误。
捷先关键值可以理解为关键值,然后设定值是操作更方便(布鲁斯10 paitoubing。在这个时候,我们需要修改布鲁斯1234567890和以前的数据paitoubing,捷先101234567890)。
mget KEY1 KEY2键返回…多键的值在同一时间
setnx核心价值setnx和设置之间的区别是,可以创建和更新价值的关键,而setnx是关键和价值创造的关键数据,如果不存在。
value1 value2 MSET KEY1 KEY2键值集的多键…在一个时间值的一个原子操作下
msetnx value1 value2 KEY1 KEY2键值运行多个键…同时值下的原子操作。(如果目标键不存在,如果多个键已经存在,则它将失败。
增加自我提高的关键的关键
incrby关键整数阶的价值增值
月关键自还原的关键
decrby关键整数阶值减去指定的值
处理列表的命令
rpush键值添加从列表的尾部的一个元素(如果序列是不存在的,它是创造第一,如相反的顺序,同一名关键的存在则返回错误)。
lpush键值添加列表中的标题元素
同步键返回一个列表的长度
关键的lrange开始结束返回序列的元素从自我定义的范围(lrange testlist 02;返回的序列testlist第一012要素)
LTrim键启动端修剪数据外一定范围内(LTrim testlist 02;保留012元,其余的删除)
该指数的关键指标返回某个位置的序列值(Lindex testlist 0;返回testlist序列0序列的元素)
LSet关键指标值更新位置元素的值
lrem关键值删除一定数量(数)从链表的头(算正数)或尾部(计数负数)对价值元素匹配,并返回被删除的元素个数。
LPOP键弹出列表的第一个元素
农作物键弹出列表的最后一个元素
rpoplpush srckey dstkey弹出_srckey_的最后一个元素并把它压入_dstkey_头,关键不存在或序列为空返回nil
处理一组(组)的命令(用索引序列)
萨德的关键成员添加元素集序列,如果元素(成员)不存在,加1成功,否则失败0;(萨德testlist 3 / N)
该关键部件移除集合序列中的元素和失败0如果元素不存在,否则成功的1(干testlist 3 / N)
SPOP关键随机弹出的集合中的成员
smove srckey dstkey成员移动一个集序列一元一集序列(smove testlist测试3 / N 2);从序列集,移动单元中,将有没有在它的元素。
个关键统计数据序列中的一组元素的个数
sismember关键成员知道指定的成员集合中是否存在
烧结KEY1 KEY2键返回…key1,key2,基恩的交集…
sinterstore dstkey KEY1 KEY2键将key1,key2…,…的凯恩斯交叉存储在dstkey
众和KEY1 KEY2键返回…key1,KEY2键结合的,。
sunionstore dstkey KEY1 KEY2键将…key1,key2,…键,在dstkey联盟
该KEY1 KEY2…键是基于KEY2,…键寻求套key1差异。官方的例子:
key1 = X,A,B,C
KEY2 = C
KEY3 = A,D
该key1,key2,KEY3 = X,B
sdiffstore dstkey KEY1 KEY2…键是基于KEY2,…键寻求套key1差异和节省dstkey
smembers键返回所有序列的元素
srandmember键返回一个随机序列的元素
一个命令来处理一组有序(有序集合)(zsets)
的关键得分成员Zadd添加指定成员的有序集合,如果目标存在,比分更新(价值排序)
zrem关键成员删除指定的成员从一个有序集
zincrby键增加成员增加_increment_如果成员存在,否则比分的成员将被设置为_increment_
zrange键启动结束返回指定范围成员升阶后
zrevrange键启动结束返回指定范围内的一个成员的降阶后
zrangebyscore关键min max返回所有符合得分和得分= min min =得分,所有成员马克斯<=条件。
使用经验:
个人认为这样的速度是不用说的(很快),但它是物理内存的消耗,是一种对Redis的弊端,为数据更新速度型小网站数量redis,如社区,不适合大数据比较网站,如论坛,然后用论坛后在Redis的应用,但由于数据量太大,物理内存的消耗是惊人的,Redis的使用!
说ttserver再次
东京内阁是一个DBM的实现。这里的数据库是由一系列的键值对,键和值可以是任意长度的字节序列,二进制或字符串。没有概念的数据类型和数据表,哈希表的数据库使用,每个键必须是不同的,因此不可能存储关键的两相同的值。提供以下方法获得:提供关键参数,值存储,通过键删除记录,重点阅读记录,和关键的遍历也支持,虽然顺序是任意的,它不能保证这些方法都是一样。这些UNIX标准DBM相同,如gdbm,ndbm等等,但他们比性能要好得多(因此它们可以代替)。B+树的存储时,使用相同的密钥记录也可以被存储。阅读、存储和删除功能,如哈希表,也提供。记录是根据用户提供的比较函数存储。我们可以用命令或反光标读取每个记录。按照这的原则,提出了字符串匹配搜索和整数区间搜索也可以实现。此外,B+树的交易也可以。对于一个固定长度的数组,记录是由一个自然数的标记。两个或两个以上的记录相同的密钥不能储存。另外,每个记录的长度有限的阅读方法是哈希表一样。东京柜是用C写的,提供的API为C,Perl,Ruby,JavA.东京柜可在平台提供POSIX和C99,出版的GNU公共许可证协议与。
tokyocabinet:键值数据库,但并没有提供一个网络接口,以下称为TC。
tokyotyrant:网络接口写的TC,他支持memcache协议,并可通过HTTP,以下称为TT。
性能:
东京内阁是由日本平林松尾开发的一个数据库。东京内阁是在GNU通用公共许可协议的基础上发布的,是用C语言开发的。它可以运行在任何支持内阁和平台。与一般数据库相比,它具有以下特点:空间小、效率高、高性能、高可靠性、多种开发语言支持(现在为C,Perl,Ruby,java,Lua API),64位操作系统的支持,数据库读写得很快。散列模式在0.643秒内写入100万个数据,并且只在0.773秒内读取100万个数据,这是伯克利DB和DBM的数倍。
东京暴君加东京内阁是一个支持高并发性的分布式持久存储系统。任何原Memcached客户端,东京土豪可以被看作是一个缓存,但其数据可以永久保存。这是新浪的memcachedb性质相同。
ttserver和Memcache:
ttserver是一个数据库,和Memcached是一个高速缓存,存储在表单数据,和任何操作是通过的关键。ttserver可以保持持续的数据,所有的缓存在内存中存储和缓存,将自动删除过期的数据,最长不超过30天。在一些API同时,Memcached可以自动将数据序列化和反序列化读。Ttserver的主从复制功能,操作日志,等等,这是完全在数据库的事。据说,memcached是调整的总体架构,同时支持插件机制。它将剥离网络、事件处理和内存存储。后来,就有必要写一个存储引擎在基于磁盘的关键值存储。两发展memcached已经进入一个小高潮。
Redis是一个关键的/值存储系统类似memcached,它支持值类型比较多,包括字符串(String),列表(链表),设置(设置)和zset(序集)。在此基础上,redis支持各种不同方式的排序。与memcached,在为了确保效率,数据缓存在内存中。不同的是,Redis会周期性地将更新的数据到磁盘或修改操作写入追加记录。(这个人感觉Redis比数据存储缓存安全),并在此基础上,主人-奴隶(主从)实现同步。
使用具有高的访问性能,操作110000次,得到的操作81000次(速度很好!)。
redis提供不同的存储类型的对象不同的命令。
Redis目前提供了四种类型的数据:字符串,列表,设置,和zset(排序)。
线是最简单的类型,你可以理解为一种类型的缓存与第一次模拟考试,一个键对应一个值,类似于其支持的操作和缓存操作。但它有更多的功能。
链表是一种链式结构,具有推送、POP、范围的所有值等主要功能,在操作中,键被理解为链表的名称。
集合是一个集合,类似于我们数学中的集合概念。该集合的操作是添加和删除的,有许多交集和差异,在操作中,键被理解为集合的名称。
zset升级版是集。在集合的基础上,他添加了一个序列属性。可以在添加修改元素时指定此属性。之后的每一个任务,zset将根据新值自动调整新的价值。这是可以理解的,有两列的表格,存储在一个列值,记忆的一个序列。在操作中,关键是理解为zset的名字。
Redis命令如下:
适用于所有类型的命令
存在键决定键是否存在;返回的是1;否则返回0;
Del键删除键,或一系列的关键;德尔KEY1 KEY2 KEY3密钥
式按键返回一个关键元素的数据类型(无:不存在,字符串字符,列表,集合,zset,哈希)
键模式返回匹配的键列表(键:*:在开始时找到键)
randomkey随机获得一个现有的关键,如果当前数据库为空,返回一个空字符串
重命名oldname newname变化项的名称,和新的密钥将被覆盖如果它存在
renamenx oldname newname变化关键的名字,如果名字存在,改变不能
关键是dbsize返回当前数据库的总数
过期设置一个关键的过期时间(秒),(到期布鲁斯1000:布鲁斯key1000秒设定后,自动删除系统)。注意:如果该值在未过期时更改,则该值将被清除。
TTL查找一个键,它已经过期了多长时间,并返回时间秒。
选择索引选择数据库
移动键dbindex移动指定的键从当前数据库到目标数据库dbindex。成功返回1;否则返回0(源数据库不存在密钥或目标数据库具有相同名称的关键);
flushdb清除所有键在当前数据库
flushall清除所有键中的所有数据库
处理字符串的命令
设置关键值设置一个字符串值,一个key.set控制台数据长度数据(布鲁斯10 paitoubing:保存键是Burce,字符串长度为10到一个字符串paitoubing数据库)、数据不能超过最大。
获取键获得某个键的值值。如果键不存在,则返回一个字符串为零;如果键的值不是String类型,则返回错误。
捷先关键值可以理解为关键值,然后设定值是操作更方便(布鲁斯10 paitoubing。在这个时候,我们需要修改布鲁斯1234567890和以前的数据paitoubing,捷先101234567890)。
mget KEY1 KEY2键返回…多键的值在同一时间
setnx核心价值setnx和设置之间的区别是,可以创建和更新价值的关键,而setnx是关键和价值创造的关键数据,如果不存在。
value1 value2 MSET KEY1 KEY2键值集的多键…在一个时间值的一个原子操作下
msetnx value1 value2 KEY1 KEY2键值运行多个键…同时值下的原子操作。(如果目标键不存在,如果多个键已经存在,则它将失败。
增加自我提高的关键的关键
incrby关键整数阶的价值增值
月关键自还原的关键
decrby关键整数阶值减去指定的值
处理列表的命令
rpush键值添加从列表的尾部的一个元素(如果序列是不存在的,它是创造第一,如相反的顺序,同一名关键的存在则返回错误)。
lpush键值添加列表中的标题元素
同步键返回一个列表的长度
关键的lrange开始结束返回序列的元素从自我定义的范围(lrange testlist 02;返回的序列testlist第一012要素)
LTrim键启动端修剪数据外一定范围内(LTrim testlist 02;保留012元,其余的删除)
该指数的关键指标返回某个位置的序列值(Lindex testlist 0;返回testlist序列0序列的元素)
LSet关键指标值更新位置元素的值
lrem关键值删除一定数量(数)从链表的头(算正数)或尾部(计数负数)对价值元素匹配,并返回被删除的元素个数。
LPOP键弹出列表的第一个元素
农作物键弹出列表的最后一个元素
rpoplpush srckey dstkey弹出_srckey_的最后一个元素并把它压入_dstkey_头,关键不存在或序列为空返回nil
处理一组(组)的命令(用索引序列)
萨德的关键成员添加元素集序列,如果元素(成员)不存在,加1成功,否则失败0;(萨德testlist 3 / N)
该关键部件移除集合序列中的元素和失败0如果元素不存在,否则成功的1(干testlist 3 / N)
SPOP关键随机弹出的集合中的成员
smove srckey dstkey成员移动一个集序列一元一集序列(smove testlist测试3 / N 2);从序列集,移动单元中,将有没有在它的元素。
个关键统计数据序列中的一组元素的个数
sismember关键成员知道指定的成员集合中是否存在
烧结KEY1 KEY2键返回…key1,key2,基恩的交集…
sinterstore dstkey KEY1 KEY2键将key1,key2…,…的凯恩斯交叉存储在dstkey
众和KEY1 KEY2键返回…key1,KEY2键结合的,。
sunionstore dstkey KEY1 KEY2键将…key1,key2,…键,在dstkey联盟
该KEY1 KEY2…键是基于KEY2,…键寻求套key1差异。官方的例子:
key1 = X,A,B,C
KEY2 = C
KEY3 = A,D
该key1,key2,KEY3 = X,B
sdiffstore dstkey KEY1 KEY2…键是基于KEY2,…键寻求套key1差异和节省dstkey
smembers键返回所有序列的元素
srandmember键返回一个随机序列的元素
一个命令来处理一组有序(有序集合)(zsets)
的关键得分成员Zadd添加指定成员的有序集合,如果目标存在,比分更新(价值排序)
zrem关键成员删除指定的成员从一个有序集
zincrby键增加成员增加_increment_如果成员存在,否则比分的成员将被设置为_increment_
zrange键启动结束返回指定范围成员升阶后
zrevrange键启动结束返回指定范围内的一个成员的降阶后
zrangebyscore关键min max返回所有符合得分和得分= min min =得分,所有成员马克斯<=条件。
使用经验:
个人认为这样的速度是不用说的(很快),但它是物理内存的消耗,是一种对Redis的弊端,为数据更新速度型小网站数量redis,如社区,不适合大数据比较网站,如论坛,然后用论坛后在Redis的应用,但由于数据量太大,物理内存的消耗是惊人的,Redis的使用!
说ttserver再次
东京内阁是一个DBM的实现。这里的数据库是由一系列的键值对,键和值可以是任意长度的字节序列,二进制或字符串。没有概念的数据类型和数据表,哈希表的数据库使用,每个键必须是不同的,因此不可能存储关键的两相同的值。提供以下方法获得:提供关键参数,值存储,通过键删除记录,重点阅读记录,和关键的遍历也支持,虽然顺序是任意的,它不能保证这些方法都是一样。这些UNIX标准DBM相同,如gdbm,ndbm等等,但他们比性能要好得多(因此它们可以代替)。B+树的存储时,使用相同的密钥记录也可以被存储。阅读、存储和删除功能,如哈希表,也提供。记录是根据用户提供的比较函数存储。我们可以用命令或反光标读取每个记录。按照这的原则,提出了字符串匹配搜索和整数区间搜索也可以实现。此外,B+树的交易也可以。对于一个固定长度的数组,记录是由一个自然数的标记。两个或两个以上的记录相同的密钥不能储存。另外,每个记录的长度有限的阅读方法是哈希表一样。东京柜是用C写的,提供的API为C,Perl,Ruby,JavA.东京柜可在平台提供POSIX和C99,出版的GNU公共许可证协议与。
tokyocabinet:键值数据库,但并没有提供一个网络接口,以下称为TC。
tokyotyrant:网络接口写的TC,他支持memcache协议,并可通过HTTP,以下称为TT。
性能:
东京内阁是由日本平林松尾开发的一个数据库。东京内阁是在GNU通用公共许可协议的基础上发布的,是用C语言开发的。它可以运行在任何支持内阁和平台。与一般数据库相比,它具有以下特点:空间小、效率高、高性能、高可靠性、多种开发语言支持(现在为C,Perl,Ruby,java,Lua API),64位操作系统的支持,数据库读写得很快。散列模式在0.643秒内写入100万个数据,并且只在0.773秒内读取100万个数据,这是伯克利DB和DBM的数倍。
东京暴君加东京内阁是一个支持高并发性的分布式持久存储系统。任何原Memcached客户端,东京土豪可以被看作是一个缓存,但其数据可以永久保存。这是新浪的memcachedb性质相同。
ttserver和Memcache:
ttserver是一个数据库,和Memcached是一个高速缓存,存储在表单数据,和任何操作是通过的关键。ttserver可以保持持续的数据,所有的缓存在内存中存储和缓存,将自动删除过期的数据,最长不超过30天。在一些API同时,Memcached可以自动将数据序列化和反序列化读。Ttserver的主从复制功能,操作日志,等等,这是完全在数据库的事。据说,memcached是调整的总体架构,同时支持插件机制。它将剥离网络、事件处理和内存存储。后来,就有必要写一个存储引擎在基于磁盘的关键值存储。两发展memcached已经进入一个小高潮。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。