如何限制redis数据库中的条目数

我正在运行一个redis实例,希望限制该实例的DB中的密钥数。 我查看了文档,发现我们可以限制一个完整实例的内存。有什么方法可以在DB级别上做到这一点吗 提前感谢。不,Redis没有限制数据库中密钥数量的功能 我能想到的最接近的事情是检查脚本中的密钥号,防止查询数据库中的密钥过多

可以在Redis中洗牌列表吗?

是否可以在Redis(服务器端)中洗牌列表?否 有关可用命令的完整列表,请使用2.4版以外的版本 在未来的2.6版本中,也许可以使用Lua服务器端脚本来实现它,但我不认为这是真正有效的 我不知道您的用例,但是如果您可以使用项目的unicity,您可能可以用集合替换列表并使用SPOP命令。您可以使用无序容器并弹出随机项目,而不是按特定顺序洗牌列表和删除项目。首先咨询官方网站如何?如果您使用这种方法,首先创建集合的副本可能会很有用,这样在完成SPOP洗牌后,您仍然可以保留原始集合。在2.6版中,您可

不存在密钥的ServiceStack Redis客户端行为

在Redis文档中,当您调用Get操作并且键不存在时,它应该返回Nil。(来源:) ServiceStack客户端如何处理此问题?它是reutn null,还是我需要使用Exists、ContainsKey 是否有另一种方法可以检查键是否存在并使用一个请求返回值?如果您试图获取一个不存在的键,则返回空值 使用IRedisClient获取密钥有很多不同的方法,但下面是一个示例: 如果您感兴趣,IRedisNativeClient将以1-1命令方式直接与金属对抗 通过使用pineline或事务,您

Redis 是否可以确定易失性密钥的初始TTL?

在我移植到Redis的键值持久性api中,我试图实现一个函数来更新一个键的生存时间。原始代码将ttl存储为时间戳和#分钟;ttl通过写入新的时间戳来更新(密钥在时间戳+增量之后过期) 我注意到Redis提供了一个TTL命令,但它只提供了剩余的时间 我想知道的是,是否有办法从Redis检索原始TTL(设置为EXPIRE,等等),或者是否需要向存储的值添加一个TTL元字段(就像原始代码一样) 编辑: 我在内部使用Redis Server v2.4.10,Redis stores将TTL转换为unix

将Redis用于;“现在趋势”;功能

我在一个拥有很多项目的高吞吐量网站上工作,我正在研究实现“现在趋势”类型的功能,这将允许用户快速获得最近被许多人浏览过的前N个项目的优先列表,随着浏览次数的减少,这些项目会逐渐消失 如何做到这一点的一个想法是给最近对某个项目的看法更多的权重,比如过去15分钟内对某个项目的每次查看权重为16,过去1小时内对某个项目的每次查看权重为8,过去4小时内对某件事的权重为4,等等,但我不知道这是否是正确的方法 我想在Redis中实现这一点,过去我们在Redis的其他项目中取得了良好的成功 在技术上和确定趋势

Redis 除非在启用管理命令的情况下创建连接,否则此命令不可用

尝试使用booksleeve在Redis中运行以下内容时 using (var conn = new RedisConnection(server, port, -1, password)) { var result = conn.Server.FlushDb(0); result.Wait(); } 我得到一个错误,说: 除非使用创建连接,否则此命令不可用 “已启用管理命令” 我不知道如何以管理员的身份执行命令?我是否需要在db中创建一个具有管理员权限的a/c并使用该权限登录

FreeBSD中的Redis多实例

我正在学习FreeBSD,我喜欢在上面安装多个Redis实例。我知道在linux中,只需运行./install\u服务器脚本就可以轻松实现这一点 我尝试从UTIL运行脚本,但正如预期的那样,它在bsd中无法工作。安装在/etc/init.d中时 有没有人可以指导我在哪里学习在freeBSD下做多个redis实例,或者教我怎么做 我是freeBSD的新手,我想学习它。我来自linux和OSX 提前谢谢你 FreeBSD上的默认安装只运行一个实例,与守护进程的通常情况相同 但您可以手动运行多个实例。

重新启动redis不还原位集

我在redis中保存了一个位集 setbit "ABC" 10 1 我的redis配置有一个保存选项 save 100 1 但当我重新启动redis时,这会导致我所有的设置位从我的“ABC”键丢失 有人遇到过这个问题吗?您是如何重新启动Redis的?请注意,根据您发送给实例的信号,数据不会被保存。@Eli:我使用的是RDBpersistent@DidierSpezia:我检查了redis日志文件,它说快照已拍摄,但在redis重新启动时,我发现很多一致性问题,我根本无法重现该问题。您可以尝试

Redis 最新Gitlab出现500错误(6.23)

只需备份并重新安装即可。 基本信息: System information System: Ubuntu 12.04 Current User: git Using RVM: no Ruby Version: 2.0.0p247 Gem Version: 2.0.3 Bundler Version:1.3.5 Rake Version: 10.1.0 GitLab information Version: 6.2.3 Revision: b490fde D

尝试将redis插件用于play framework v2

我尝试在play framework v2.2.1中使用以下来源的redis插件,并收到下面复制的错误消息-如果您有任何关于此问题的疑难解答想法,将不胜感激 来源: https://github.com/typesafehub/play-plugins/tree/master/redis 错误: sbt.ResolveException: unresolved dependency: com.typesafe#play-plugins-redis_2.1.0;2.0.4: not found

理解Redis ServiceStack示例时遇到的问题

我试图掌握ServiceStack Redis示例和Redis本身,现在有一些问题 问题1: 我看到定义了一些静态索引,例如: static class TagIndex { public static string Questions(string tag) { return "urn:tags>q:" + tag.ToLower(); } public static string All { get { return "urn:tags"; } } } 那个“>”(大

如何管理集群上指定的redis主机在启动时停机的情况

据我所知,如果redis在一组机器上运行,那么将有几个从机和一个主机。在启动时,可以通过命令使从属设备连接到主设备。然后集群中每台机器上的哨兵都可以连接到主机,找出所有从机,然后在当前主机因某种原因停机时将其中一个从机切换到主机 现在,我的问题是-当我们启动集群上的redis服务器时,当指定的主机停机时,我们如何进行故障转移?SLAVEOF命令将失败,并且不会有主控,因此哨兵无法从中获取配置数据。我们如何解决这个问题?谢谢 所以仍在开发中的Redis Cluster就是为了解决这个问题。 Zo

关于nop3.3 redis缓存

我在下面写了一个缓存扩展代码 public class RedisManager:ICacheManager { private readonly RedisClient _client; public RedisManager() { _client = new RedisClient("127.0.0.1", 6379); } public T Get<T>(strin

Redis 有没有一种方法可以用散列模拟列表的修剪功能?有更好的数据结构吗?

我正在为我的产品创建提要,很像Facebook的新闻提要 起初,我是通过一个列表来实现它的 每个feed最多有30个帖子&并且有一堆评论。推到列表并修剪列表以保持最多只有30个帖子这一事实很容易。一个细微的差别是添加评论,但我遇到的真正大问题是,如果有人要求删除一篇文章,我就删除它。这并不能保证一个帖子在其整个生命周期中都保持不变。这使生活变得非常麻烦。我仍然没有一个好的解决方案来删除列表 然后,我决定用散列来代替。散列非常好,因为它将按照帖子进入散列的时间顺序保存散列(因此,它基本上是按时间排

用于删除redis实例上的键的终端快捷方式

我有一个开发redis实例,我正在尝试创建一个终端快捷方式来快速删除:DB 10中的所有键都从单词论坛开始 我已尝试在我的bash_配置文件中创建此别名: redis cli-h[XXX]-p[XXX]-a[XXX]选择10个键论坛:*xargs redis cli-h[XXX]-p[XXX]-a[XXX]选择10个键 但这不起作用err msg:SELECT的参数数量错误。您可以向CLI传递一个命令,因此将SELECT与key/DEL链接会导致错误 相反,请使用-n开关让redis cli选择

试图理解REDIS Monitor命令

我试图理解Redis中可用的命令,以及如何有效地使用它来确定应用程序的负载。我不明白的是如何读取CLI上显示的信息。比如,我知道IP地址前的数字是“DB索引”,但我能从这个数字推断出什么 上提供的示例是: 我无法理解“1339518083.107412”的意义。第一部分是秒。微秒形式的时间戳。第一部分是自1970/1/1(Unix时代)以来的秒数和微秒数。因此,如果要提取时间,请执行以下操作: new DateTime(1970,1,1).AddSeconds(seconds).AddMilli

Redis集群与zset

在客户端分片方法中,我可以创建一个分片并在该分片中存储一个zset。有了Redis cluster,zset能有多大?如果zsets将成为我在redis中拥有的所有键的索引,我如何缩放zsets 简短回答:是-您可以将所有密钥名存储在一个排序集中 Redis排序集最多可以有2^32-1(4294967295)个成员,每个成员由一个512MB长的字符串和一个64位的分数组成(数据库中的键数也有相同的限制)。这既适用于独立Redis,也适用于Redis群集,允许在单个排序集中存储~2048PB:)

从Redis读取多个哈希的最快方法是什么?

我有一个列表,其中包含指向某些散列数据的指针。比如: [LIST] app:1 ["article1", "article2", "article3" ...] [HASH] article1 {title: "Hello", description: "World"} [HASH] article2 {title: "Hello", description: "World"} [HASH] article3 {title: "Hello", description: "World"} 一经提

Redis删除多个集合中的元素

我在多个集合中有一个元素XYZ,我需要从所有集合中删除它 我可以做到: SADD SET1 1 2 3 SADD SET2 3 4 5 以及: 但是我事先不知道集合的名称,有没有一个简单的方法来做类似的事情 FOREACH SET* do SREM 3 保留另一组集合,将元素映射到它们所在的集合。在您的示例中,这意味着: SADD member:1 SET1 SADD member:2 SET1 SADD member:3 SET1 SET2 SADD member:4 SET2 SADD

Redis服务器群集不工作

在src目录下,我运行下面的命令 /redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 但在误差以下 创建集群 [错误]抱歉,无法连接到节点127.0.0.1:7000 但是,如果我使用命令“redis server redis.conf”在7000处启动节点,其中redis.conf在下面 端口70

Redis:如何使用geohash API获取给定矩形中的点?

示例:给定3个点(1,1)、(2,2)、(5,5)和一个矩形(0,0)(3,3),得到2个点(1,1)和(2,2) 使用Georgadius在圆中获取点很容易,但似乎没有一种方便的方法来获取矩形中的点。没有内置的方法来实现这一点 但是,您可以使用可以覆盖整个矩形的圆进行空间搜索。对于每个检索到的点,检查它是否在矩形内。如所述。但是,检查这个Lua脚本,了解一些想法,包括矩形搜索(尽管没有适当的投影),如果你能胜任,为什么不开发一个Redis模块来满足你的需要呢?;)@ItamarHaber我保证

redis中使用的\u内存\u rss太高

我有一个Redis实例,它的最大内存设置为45GB,已用内存约为40GB,峰值内存使用率为42GB,但RSS的最高内存为80GB。 有没有办法释放这个内存 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 76829 root 20 0 95.3g 80g 1328 R 56.4 63.8 29424:59 redis-server Memory used_memory:41960888496 used_memory_human:39

Redis 刷新再贴现模板

我正在使用SpringQuartz作业连接到Redis以执行操作。我已将RedisTemplate配置为仅连接到主节点 当Redis中发生故障转移并选择新主机时,我会通过sentinel.conf中的客户端重新配置脚本收到通知。在这之后,我试着重新连接我的模板,与新主人交谈。这个重新布线部分不工作 石英作业和模板的Spring引导配置: package com.XXX.XXX; import org.quartz.JobDetail; import org.quartz.SimpleTrigg

使用AWS Elasticache Redis管理Sails.js中的会话

我目前正在我的Sails.js项目中使用connectredis来利用本地安装的redis实例。在将来,我希望对多个服务器实例(在负载平衡器后面)使用一个公共redis实例,因此我一直在研究awslasticache。不过,我的配置有问题 sails项目\config\session.js: 有什么想法可以改变吗?我假设你的“windows盒子”在AWS之外 对于Elasticache,您无法从AWS外部访问它。请参见此处的安全部分: 最常见的用例是在VPC访问中使用EC2实例并使用Elasti

redis cluster reshard[ERR]调用MIGRATE:ERR语法错误

当我重新安装redis群集时,遇到了一个问题。 redis群集信息和问题详细信息如下所示: obasa04:/usr/redis-4.0.2/src # redis-trib.rb info 10.239.65.82:10000 10.239.65.82:10000 (90c088ff...) -> 4 keys | 6974 slots | 1 slaves. 10.239.65.82:10004@20004 (a219daf5...) -> 7 keys | 5462 slo

什么';在redisson rbucket中trySet方法的用法是什么

我现在正在学习Redisson,我有一个例子如下: public class TestRedisson { public static void main(String[] args) { Config config = new Config(); config.useSingleServer().setAddress("//localhost:6379"); RedissonClient redisson = Redisson.cre

如果使用模糊库,Microsoft.Web.RedisessionStateProvider的outofmemory异常

我想将Microsoft.Web.RedisessionStateProvider用作asp.net应用程序的会话缓存提供程序。我必须在我的应用程序中使用一些模糊的libriares。一旦添加它们,就会出现内存不足异常。如果删除对这些库的引用,缓存就会工作。该异常在global.asax应用程序启动后立即发生。可能在课程开始前或开始时 <sessionState mode="Custom" customProvider="LocationNewsCache"> <provi

以redis作为代理和结果后端的芹菜使用了太多的redis连接

我们有一个芹菜集群,以redis作为代理和结果后端,大约有100多台服务器,200多个队列,目前,redis连接(9000+)接近最大连接阈值(10000),并且在向集群添加新服务器时,它仍在逐渐增加 我们依靠芹菜中的任务状态来执行更多的检查,因此我们无法设置ingore\u result=True(这种方法可以快速减少redis连接,但考虑到其他函数的限制,我们无法使用它),并且代理池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池池

Redis中使用了什么版本/版本的Lua和外部库?

Redis中使用了什么版本/发行版的Lua?我如何找到它 图书馆呢?cjson、cmsgpack、bitop等 从Redis 2.6.0到2.6.12的Lua 5.1.4 Lua 5.1.5自Redis 2.6.13以来 似乎有必要进一步升级Lua 可以在上验证Lua版本 卢阿比托普 对数字进行位运算 Redis 2.8.18中引入了1.0.2版 卢阿杰森 对Lua的JSON支持 从Redis 2.6到2.8.17的版本1.0.3 Redis 2.8.18之后的版本2.1.0 Lua

`io.netty`使用Redis实现Spring会话时出现异常

我正在用Redis实现Spring会话 我得到以下例外情况: SEVERE [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [ROOT] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [j

Redis不会在CentOS7上停止或重新启动

我使用Cloudera Manager 6.3在集群的一个节点CentOS 7上安装了Redis 3.2.12版,我的Redis从未停止过。 一切都是默认的,我只是添加了密码,但没有效果,因为我无法重新启动。选项daemonize为否 我的假设是: sudo yum -y install redis sudo service redis start 当我键入redis cli时,cli通常在127.0.0.1:6379启动。当我尝试关机时,控制台显示“未连接”,但使用lsof-I:6379,

使用Nestjs在redis Store中存储值

我有一个简单的nestjs应用程序,其中我使用Redis存储设置了CacheModule,如下所示: 从“缓存管理器redis store”导入*作为redisStore; 缓存模块寄存器({ 商店:Redistore, 主持人:"redis",, 港口:6379, }), 我希望使用它来存储单个值,但是,我不希望通过将拦截器附加到控制器方法来使用内置方式,而是希望手动控制它,并能够在代码中设置和检索值 我该怎么做?我会使用缓存管理器吗?基于艾哈迈德的上述评论,我使用以下方法在我的nestjs

如何存档或删除Redis日志文件

我正在使用Redis.io中的Redis开源。我已经配置了redis.conf文件,并从默认设置“注意”中将日志级别设置为“警告””。这有助于减少日志文件的大小。我的日志文件越来越大,我在redis.io上没有找到任何关于日志文件存档或使用任何命令或维护工具计划删除的文档 我还尝试了windows上的Redis(),从MS open tech也遇到了同样的问题,即没有可用的日志存档或删除命令 那么,有没有人体验过如何在生产环境中归档、删除和管理Redis日志

如何在Redis缓存中使用多键或辅助索引?

我需要在Redis缓存中使用两个键值,以便可以基于一个键进行检索?请帮忙 这两个键都是字符串,值将是一个实体,其中也将存在键值 例如: : json结构: result{ a{ key: <something> b:<something> c:<something> } } 结果{ a{ 关键: b: c: } } 我需要通过使用键或“b”从re

Redis管道忽略重定向

我使用的是Redis集群,但希望通过管道连接到特定的碎片(出于性能原因)。正如预期的那样,当我写入一个碎片时,我很可能会收到至少一个移动错误。我只想忽略这些错误而不停止管道。是否有任何Redis客户端可以用来忽略移动的错误,并继续执行管道

OSGi Redis共享池配置

我正在使用下面的配置使用jedis客户端连接到redis。我想创建OSGi共享池服务,以便将其导出并在其他捆绑包中使用。请告诉我怎么做 <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxActive" value="200" /> <property name="maxIdle" value="50" />

分布式优先级队列(redis+;tornado)

我有3个不同的优先级队列A、B、C,存储在3个不同的服务器上 我有一个中央tornado服务器S,有3个客户机,连接到所有三个需要进行最大缩减的服务器,其中一个GET: 1) 查询每个队列的头 2) 头部得分最高的队列将弹出 然而,当两个GET同时处理时,我需要非常小心可能的竞争条件。我需要确保操作是在锁步中进行的,比如1212,而不是1122 我曾考虑使用阻塞单例来管理所有实例,但我希望有更好的解决方案。为什么不直接用单线程进程Web服务器替换tornado服务器?这样你就不需要锁定回调,也没

Redis排序设置错误的分数

让我们试试这个 redis 127.0.0.1:6379> zadd aaa 999999999999991.1 one (integer) 0 redis 127.0.0.1:6379> zscore aaa one "999999999999991.12" redis 127.0.0.1:6379> zadd aaa 999999999999991.2 one (integer) 0 redis 127.0.0.1:6379> zscore aaa one "9999

Redis:如何从从设备更新主设备?

我们有两台redis服务器 我们需要两者完全相同。 如果任何客户端更新任何服务器,则该服务器必须更新另一台服务器 我刚刚试用了redis的复制功能 这是伟大的,但它的工作方式是一个主=>从 我需要通过两种方式让它工作 主=>从机 Master您所描述的是多主机设置,这在Redis中是不可能的

在Redis中从多个集合中删除成员

我的redis存储中有一些产品和类别。我使用类别集按指定类别查找产品 SADD category:1 product1 product2 product3 product4 SADD category:2 product2 product5 SADD category:5 product1 product7 除了迭代所有类别之外,是否有任何方法可以从所有类别中删除单个产品?像这样的魔法: SREM category:* product2 没有魔法命令 您可以使用(另一个)集合来跟踪每个产品的

Redis/Limit.rdb文件

我使用Redis,它保存它的.rdb文件(每个事务) 我注意到,产品中的.rdb每天增长15 MB(现在是75 MB) .rdb文件有任何限制吗?这会影响Redis DB的性能吗?磁盘上的rdb对正在运行的Redis实例没有直接影响 唯一的限制似乎是文件系统。 我们有一个10GB的压缩rdb,它在内存中的大小约为28GB,而且还有更大的rdb 但是,如果您将像我们这样的大型数据集保存到磁盘,可能会遇到中断。(即使您使用) 当forked redis进程写入最新的diff时,redis在完全写入磁

执行Redis BGSAVE时将使用大量缓存内存

我的一台redis服务器总共有大约120GB的内存。我们的数据(非缓存)使用约44GB,此节点的bgsave已打开 因此,总使用内存约为50GB,而缓存内存通常为40GB。但是,当执行bgsave时,缓存内存将变为70 GB。我使用ganglia来监视mem_free,当缓存内存达到峰值时,它大约为1GB 我应该关心缓存内存的使用情况吗?如果是这样,有没有办法限制内存的使用?我不明白“缓存内存”到底是什么意思 无论如何,如果您的内存不足以执行BGSAVE,您可以在低开销期间执行,如果BGSAVE

Redis中密钥过期后更新值

我正在使用Redis缓存一些键值对。我为这些键值设置了TTL,因此应该在超时后将其删除。但我不想删除,而是希望在键值过期时重置该值。这可能吗?如果是这样的话,谁能告诉我怎么做?或者,如果不可能,是否有其他解决方案用于此用例。使用常规Redis TTL是不可能的 或者,您需要使用一些应用层计划作业来实现该功能,以实现自定义TTL和自定义操作来重置值 我不知道Quartz.Net。我只使用java。这在java中可能吗?@JinuSanthRose你怎么能只使用java而使用StackExchang

Redis中的请求合并

这可能是一个基本问题,但谷歌并没有给出令人满意的结果 如果我使用Redis作为缓存,并向Redis发送大量相同的请求,它是否会将其合并为一个请求,并在缓存丢失的情况下仅将一个请求转发给服务器?Redis只是一个存储:您向其添加内容,然后再次检索它们。它不知道您在使用它做什么(缓存),也不知道如何将未命中转发到其他后端,这取决于处理请求的应用程序和使用Redis进行缓存。不,这需要大量代码在两端支持它,并且没有任何服务器、HTTP或Redis构建了此功能。来自HTTP服务器的每个请求都是它自己的连

Spring data redis with redis经过一段时间后获取异常:无法从池中获取资源

我使用SpringDataRedis访问带有xml配置文件的redisone机器,开始时一切正常,但几分钟后,我运行了 再次测试,我得到了无法从池中获取资源的异常,我已经搜索了一些答案,我猜这是连接失败的原因 不返回池,如何解决这个问题,为什么会出现这个问题,我使用的是redis-3.2.6 spring-data-redis1.8 jedis2.9,下面是我的配置 #Redis settings redis.host=27.57.100.3 redis.port=6379 redis.pass

redis slave上info命令列出的过期密钥数与我看到的不一致

当我对redis 3.2.4服务器运行redis cli中的info命令时,它会显示以下内容: expires=223518 但是,当我运行keys*命令并为每个键请求ttl,并且只打印出ttl>0的键时,我只看到几百个 我以为expires是过期键数的计数,但我甚至不在这个数的数量级之内 有人能确切地说明expires的含义吗?这是否包括要过期和以前过期但尚未收回的密钥 更新: 下面是我如何计算过期密钥的数量: task count_tmp_keys: :environment do

cli中python显示的redis

我将数据从python推送到redis中,如下所示: ts = datetime.datetime.now().timestamp() if msg.field == 2: seq = [ts, 'ask', msg.price] r.rpush(contractTuple[0], *seq) 我希望插入的数据(seq)是redis中的一个对象。但是,当我查看reds cli中的数据时,python列表中的字段位于单独的行上: 127.0.0.1:6379> lrang

RedisConnectionException:没有可用于服务此操作的连接:EVAL

我正在尝试在ASP.NET WebForms应用程序(4.7.2)中实现Redis。我从下载了SessionProvider源代码。我正在使用StackExchange.Redis 2.0+ 执行登录后,将抛出此错误: 显然,有人试图eval一些Lua脚本,但失败了(这是关闭该脚本的结论) 因此,假设这个假设是正确的,我提取了有问题的脚本,并使用rediscli--eval以及键和参数运行它 local retArray = {} local lockValue = ARGV[1] loc

使Redis缓存中的特定密钥过期,用于将数据插入缓存的ZADD

我在我的项目中使用Redis5,出于我的需求,我使用ZADD以设备ID{Timestamp:Value}的格式存储数据。我只需要将数据存储2周,之后我希望数据从缓存中过期。是否有可能自动删除超过2周的密钥,或者我应该使用单独的监视器使用ZREMRANGE删除密钥?否您不必手动执行此操作。Redis会处理的 您可以使用expire命令设置和更新密钥的过期持续时间。 例如: EXPIRE my_lovely_key 60 我的钥匙在60秒后过期 您可以按如下方式获取密钥的TTL: TTL my_l

  1    2   3   4   5   6  ... 下一页 最后一页 共 59 页