小编Ank*_*kur的帖子

Java中的事件监听器和处理程序有什么区别?

在Java的一般术语中,有事件的侦听器和处理程序.
我的意思是我在不知不觉中使用它们,无论API中有哪些.

我的问题是,在什么情况下我们使用监听器,在什么情况下我们使用处理程序进行事件?

他们之间有什么区别?特点?

我搜索了原因,但找不到适当的Java解释.

java events listener handler

77
推荐指数
5
解决办法
8万
查看次数

复杂的数据结构Redis

可以说我有哈希哈希例如

$data = {
    'harry' : {
         'age' : 25,
         'weight' : 75,
    },
    'sally' : {
        'age' : 25,
        'weight' : 75,
    }
}
Run Code Online (Sandbox Code Playgroud)
  1. 存储这种数据结构的"通常"方式是什么(或者不是吗?)
  2. 你能直接得到一个价值(例如得到哈里:年龄?
  3. 存储后,您可以直接更改子键的值(例如,sally:weight = 100)

redis

60
推荐指数
2
解决办法
4万
查看次数

如何在NetBeans中将打开的文件与项目树链接

我觉得这个问题很愚蠢,但我自己找不到解决办法.

当我在编辑器中打开几个文件并在它们之间切换时,我在项目或文件树中查找当前打开的文件时遇到问题.

我之前使用过Eclipse,每次用文件更改选项卡时,项目树都会将焦点设置为同一个文件.有没有办法在NetBeans中做这样的事情?

netbeans netbeans6.5

28
推荐指数
3
解决办法
1万
查看次数

设置magento前端的会话超时限制

我试图将会话时间限制设置为magento的30分钟,但它不会在30分钟内到期.我进入了系统 - >配置 - > Web->会话Cookie管理,并为该字段设置了1800值,Cookie Life time但仍然没有在指定的超时限制内使会话到期.我不知道Magento前端会话有什么问题.

我在正确的位置设置限制吗?magento后端是否有任何其他设置来设置前端会话超时限制.

magento

26
推荐指数
3
解决办法
6万
查看次数

MySql存储过程,事务和回滚

我找不到在MySql存储过程中使用事务的最佳方法.ROLLBACK如果有任何失败我想要:

BEGIN

    SET autocommit=0;
    START TRANSACTION;

    DELETE FROM customers;
    INSERT INTO customers VALUES(100);
    INSERT INTO customers VALUES('wrong type');

    COMMIT;
END
Run Code Online (Sandbox Code Playgroud)

1)autocommit=0需要吗?

2)如果第二个INSERT中断(当然它确实),第一个INSERT不会回滚.程序只是继续下去COMMIT.我怎么能阻止这个?

3)我发现我可以DECLARE HANDLER,我应该使用这条指令还是有更简单的方法来说如果任何命令失败,存储过程应该ROLLBACK也会失败?

DECLARE HANDLER工作正常,但由于我有MySql版本5.1我不能使用RESIGNAL.因此,如果发生错误,将不会通知来电者:

DECLARE EXIT HANDLER FOR SQLEXCEPTION 
BEGIN
    ROLLBACK; 
    -- RESIGNAL; not in my version :(
END;

START TRANSACTION;
Run Code Online (Sandbox Code Playgroud)

mysql stored-procedures commit rollback

11
推荐指数
1
解决办法
2万
查看次数

什么是Magento 1.7.0.0上的SOAP V2 URL

在1.7.0.0版本中,访问Magento SOAP V2的URL是否已更改?当我尝试在浏览器中访问" http://www.somedomain.com/api/v2_soap?wsdl=1 " 上的服务时,它会出现"指定的无效Web服务适配器"错误.这是一个错误还是我错过了什么?谢谢你的帮助

soap web-services magento

11
推荐指数
1
解决办法
2万
查看次数

Phpstorm没有看到xdebug但它已安装

PhpStorm无法看到xdebug但已安装.在我的浏览器中,xdebug工作正常.问题出在哪儿?

错误:

未建立与'xdebug'的连接.验证安装.

php.ini中

[xdebug]
xdebug.idekey=PHPSTORM
zend_extension="/Applications/MAMP/bin/php/php5.4.10/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so"
xdebug.default_enable=1
xdebug.coverage_enable=1
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = "/tmp"
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_autostart=1
Run Code Online (Sandbox Code Playgroud)

phpinfo 在phpstorm中:

PHP版本:5.4.10

Loaded extensions:  bcmath, bz2, calendar, Core, ctype, curl, date, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, imap, json, ldap, libxml, mbstring, mcrypt, mysql, mysqli, openssl, pcre, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, Reflection, session, SimpleXML, soap, sockets, SPL, sqlite3, standard, tokenizer, XCache, xml, xmlreader, xmlwriter, xsl, yaz, zip, zlib
Run Code Online (Sandbox Code Playgroud)

xdebug phpstorm

10
推荐指数
2
解决办法
1万
查看次数

确保redis中排序集的唯一性

我正在尝试存储媒体对象,并通过redis让它们在特定时间范围内可检索.我选择了一个有序的数据类型来执行此操作.我正在添加如下元素:

zAdd: key: media:552672 score: 1355264694
zAdd: key: media:552672 score: 1355248565
zAdd: key: media:552672 score: 1355209157
zAdd: key: media:552672 score: 1355208992
zAdd: key: media:552672 score: 1355208888
zAdd: key: media:552672 score: 1355208815
Run Code Online (Sandbox Code Playgroud)

其中,密钥对于媒体被占用的位置ID是唯一的,并且分数是媒体对象的创建时间.值是媒体对象的json_decode.

当我去检索使用时zRevRangeByScore,偶尔会有重复的条目.我基本上使用Redis作为外部API的缓冲区,如果用户使用X秒进行两次相同的API调用,那么我将从缓存中检索结果,否则,我将其添加到缓存中,而不是检查由于定义不包含重复项的集合,查看它是否已经存在.可能的已知问题:如果媒体对象属性在缓存之间发生更改,则它将显示为重复

有没有更好的方法来存储这种类型的数据而无需在redis客户端进行检查?

TLDR; 在Redis中存储和检索对象的最佳方法是什么,您可以通过时间戳选择一系列对象并确保它们是唯一的?

redis

6
推荐指数
1
解决办法
7774
查看次数

你如何在Eclipse中逐步完成一个程序?

我想遵循一个Java程序,以便我能理解一切如何协同工作.我可以用Visual Studio做到这一点,所以我希望Eclipse也可以有一个我无法找到的功能.

java eclipse visual-studio

5
推荐指数
2
解决办法
3万
查看次数

超时更快\w memcache

如果我连接的 memcached 服务器不可用(无论出于何种原因),我试图强制 PHP 的Memcache 扩展几乎立即超时。在这种情况下,我想抛出一个异常(将在其他地方处理)。

我一直在寻找和尝试不同的东西,但没有任何运气。我正在使用标准向池中添加服务器(目前只有一台):

$this->memcache->addServer ( $server['host'], $server['port'] );

然后我杀死了 memcached 守护进程(也尝试了错误的端口和主机)并打开了我的页面。它只是加载了很长时间,然后 nginx 返回504 Gateway Time-out错误。

我如何告诉 memcache 客户端尝试(我不知道)1 秒然后放弃,此时我应该能够以某种方式检测到超时。

最重要的是,如果我们的 memcached 服务器宕机,我想尽快显示一个用户友好的错误页面(已经为未捕获的异常工作),而不是让用户在看到通用服务器之前等待 30 秒错误。

php memcached

5
推荐指数
1
解决办法
5028
查看次数