草庐IT

Structures

全部标签

php - PEAR 错误 require_once(Structures/Graph/Node.php) : failed to open stream

我正在尝试使用PEAR安装PHPUnit。无论我运行什么命令,如pearinstallphpunit/PHPUnit、pearinstallStructures_Graph、pearupgrade、pearupgrade--force--alldeps...它总是以结尾Warning:require_once(Structures/Graph/Node.php):failedtoopenstream:NosuchfileordirectoryinPEAR\Structures\Graph.phponline37PHPWarning:require_once(Structures/Gra

data-structures - 合适的数据类型

我得到了用户名和用户ID的列表。我想按首字母对用户名进行分组。key将是用户名,因此我可以从用户名中获取用户ID并检查用户是否存在。用于此的最佳数据类型是什么?我在考虑哈希,但还有其他建议吗?你能告诉我为什么要选择那种数据类型吗?谢谢! 最佳答案 我只是在玩那个。所以这就是我得到的:>setalias:tamer1000"OK">setalias:tansel1001"OK">hmsetuid:1000aliastamerage45"OK">hmsetuid:1001aliastanselage39"OK">hsetuid:1000

data-structures - Redis中的最优存储结构

我正在寻找存储以下信息组。我存储了一个分钟时间戳(例如,将在1分钟窗口中看到的所有浏览器ID分组),然后是浏览器引用列表。我希望只有一个浏览器ID实例这个数据结构可以使用Redis中的什么数据结构?有没有更好的存储方式?...12:06->browser1,browser712:07->browser812:08->browser4,browser5,browser6,browser9...每一行可以有大约1天的生存时间。添加新的browserID时,我首先检查浏览器ID是否已存在于数据中的某处,如果存在则删除并添加到新的分钟行。最后,我每隔1分钟获取30分钟前的行并处理这些浏览器ID

data-structures - Redis - 一个一个地插入字符串并一次全部删除的数据结构

我是Redis的新手,发现Redis支持多种数据结构,我们可以根据需要选择其中的任何一种。我的要求是将字符串一个一个地插入到列表(key-list)中,并希望一次检索(和删除)所有字符串。而且我也想经常这样做,所以试图找到一种最佳方式。哪种数据结构/方式对此更好?提前谢谢你P.S:我不想在检索的时候去掉key,我只需要检索并清空列表即可。 最佳答案 听起来你应该使用List.使用LPUSH添加到列表中或RPUSH,然后使用LRANGE检索所有内容和DEL关键。附言Redis中的key,比如存放List的key,不能为空。删除列表的所

data-structures - 在redis中驱逐 HashMap 中的键

我在Redis中有一个不断增长的巨大hashmap。每天大约50k,在接下来的几天里,这个数字会越来越少,因为相同的键会重复。我想将这个hashmap限制为100万个键值对。我想基于LRU来做这个。我知道我可以使用Redis的排序集以时间戳作为值并删除不在范围内的条目来执行此操作,但我需要保留键值对结构,当我移动到排序集时我将丢失键值结构,因为值将是时间戳,我需要在键中执行一些字符串操作以实现等效的哈希功能(不可行)。所以我的要求是:键值对结构根据给定键获取值或多个键用100万对修剪结构lru政策。我可以用hash实现吗?我也愿意接受其他建议吗?提前致谢 最

data-structures - 如何在 Redis 中仅快速检索 Set 的一个子集

我需要以允许快速的方式存储一组无序的项目插入成员资格测试(和/或交集)随机子集检索Redis似乎是这种存储的理想选择,但在我阅读文档时,没有一种数据类型可以完美地适合这种存储。拥有Set类型的SUBSET命令将是完美的。存储和查询这种数据结构的最佳方式是什么? 最佳答案 常规Redis集在哪些方面不符合您的标准?插入和成员测试/交集显然是内置的。集合也有SRANDMEMBER检索集合的随机成员。您可以多次调用它来检索项目的子集(尽管有可能多次取回同一成员。如果集合的大小很大,而子集的大小很小,这可能没什么大不了的。随着子集的大小相对

data-structures - 是否有更好的数据结构可用于在 Redis 中索引这些数据?

我正在使用Redis在哈希中存储一堆“Foos”:foo:=>{name='whatever',status='incomplete|complete|removed',user=,...}我想设置一个索引,以便为特定用户提取具有特定状态的Foos。我想出的最好的办法是使用这样命名的集合:foo:user::status:=>[,,...]但这看起来很笨拙,我必须确保跟踪旧状态并在更改状态时将其从一组中删除,以保持数据一致。我可以在这里使用更聪明的结构吗? 最佳答案 我认为您考虑存储这些东西的方式很好。您可以随时更改foo:user

data-structures - Redis 哈希 : How to Query on both Key and Value

我想在Redis中存储键值对(T1,T2)。键和值都是唯一的。我希望能够查询键和值,即HGET(Key)应该返回相应的值,而HGET(Value)应该返回相应的键。一种简单的方法是在Redis(T1,T2)和(T2,T1)中创建2个哈希,然后查询适当的哈希。这种方法的问题是插入、更新或删除对将需要更新两个哈希。有没有更好的方法来满足我的要求... 最佳答案 如果T1、T2之一具有整数类型,您可以使用如下组合:1->foo2->barZADDmyset1fooZADDmyset2barZSCOREmysetfoo//returns1.

data-structures - 具有一个 ZSET 的 Redis GEORADIUS 与许多特定大小的 ZSET

什么会更快,一个带有地理数据的大ZSET,我将在其中使用GEORADIUS查询100米半径或很多ZSET,每个ZSET负责覆盖整个世界的100mX100m正方形?并以这100m的正方形命名,例如:left_corner1_49_2440000_28_5010000left_corner2_49_2450000_28_5010000.......并且将所有100米都放在组内的右侧和底部。因此,在搜索最近点时,我将省略gps中的冗余数字,例如:49.2440408,28.5011694将变为49.2440000、28.5010000这样我就可以知道ZSETS的名称,只需以100米的精度获取

data-structures - 具有经典数据结构的 Firebase

Firebase允许您将数据存储在远程JSON树中,它最多可以嵌套32层。这很酷,但是有没有什么方法(或服务)可以像Redis那样将数据存储在列表、集合或散列中,又像Firebase那样远程? 最佳答案 列表是有序数据的集合?如果是这样:请参阅Firebase关于savinglistsofdata的文档.如果您习惯使用数组,您可能想阅读arraysinFirebase上的这两篇博文。和real-timesynchronizedarrays也是。在JSON中(因此在Firebase中)任何关联数组本质上都是一个集合:您可以将一个值与每