從異??词莚edis無(wú)法連接導(dǎo)致,超時(shí)java.net.SocketTimeoutException: connect timed out
手動(dòng)檢測(cè)部署應(yīng)用服務(wù)器能否連接redis.
telnet <host> 6379
如果沒telnet,可使用python
$ python
...
>>> import socket
>>> conn=socket.create_connection(('<host>',6379))
>>> //如果沒出現(xiàn)錯(cuò)誤說明可以連接上
這不是事件防抖的場(chǎng)景么。
感謝各位的回答,猜測(cè)是和主題文件損壞有關(guān)的。不過我已經(jīng)轉(zhuǎn)到WordPress了。
嘗試把版本改成 5.4
以上再看看。
剛才看了官方文檔發(fā)現(xiàn)了這個(gè) PHP: mysqli_stmt::get_result
Available only with mysqlnd.
并且我自己在官方文檔上找了個(gè)例子試了一下:
Fatal error: Call to undefined method mysqli_stmt::get_result() in ...
出現(xiàn)上面這個(gè)錯(cuò)誤。
嗯,我這個(gè)是無(wú)限極,
Google一下都有現(xiàn)成的:MongoDB Java: Finding objects in Mongo using QueryBuilder $in operator returns nothing
public static void getDocuments(List<Integer> documentIds) {
BasicDBList docIds = new BasicDBList();
docIds.addAll(documentIds)
DBObject inClause = new BasicDBObject("$in", docIds);
DBObject query = new BasicDBObject("Id", inClause);
DBCursor dbCursor = mongoRule.getDatabase().getCollection("mycollection").find(query);
System.out.println(dbCursor == null);
if (dbCursor != null) {
while (dbCursor.hasNext()) {
System.out.println("object - " + dbCursor.next());
}
}
}
我注意到你的_id
全是一樣的,所以你是不是已經(jīng)使用$unwind
把一個(gè)數(shù)組展開了?
如果有人正在為這個(gè)問題而掙扎, 下面是修復(fù)程式:
嘗試在您的 mysql 中更改/設(shè)置 wait_timeout my.cnf 設(shè)定檔:
wait_timeout=3600
此設(shè)定檔位於/etc/mysql/my.cnf
(Ubuntu/Debian) 和`usr/local/mysql/my.cnf (OSX)。
重新開機(jī) mysql 伺服器, 它應(yīng)該工作。
思路: 先查出注冊(cè)用記的類型, 然后再用戶類型的數(shù)組再循環(huán)訂單中所有的商品.
//語(yǔ)句可查出第一列(用戶類型) 最后一列(金額)
select m.uid,a.id,
sum((select
sum((select sum(p.num * p.price) from {$pfix}d p where p.oid = o.id)
) as user_amount
from {$pfix}c o where o.uid = m.uid)) as user_order_total
from {$pfix}b m
JOIN {$pfix}a a ON m.aid = a.id
group by a.id
//查出所以訂單的商品類型
select product_id,product_name from {$pfix}d group by product_id
//循環(huán)出上列表格
foreach ($data as $key => $value) { //AND o.create_time > 1516204800 下單時(shí)間條件
$userSql = "select o.id from {$pfix}b m
RIGHT JOIN {$pfix}c o ON o.uid = m.uid where m.aid= {$value ['id']} {$where}
"; //查出用戶類型下所有用戶訂單
$userData = $model->query($userSql);
if(!empty($userData)) {
$userWhere = implode(',', array_column($userData, 'id'));
foreach ($productData as $k => $v) {
$amountSql = "select sum(num) as amount_total from {$pfix}d where product_id = {$v ['product_id']} AND oid IN({$userWhere})";
$amount = $model->query($amountSql);
$amount = $amount [0]['amount_total'];
$data [$key]['product'][$v ['product_id']] = array('amount_total' => $amount);
}
dump($productData);
}
}
都是單表查詢沒什么問題,應(yīng)該這樣處理,你所說的效率無(wú)非是mysql
的瓶頸問題,和服務(wù)端的語(yǔ)言沒什么關(guān)系,評(píng)論的話怎么取,這要看你的業(yè)務(wù)了,這里你要注意這么幾點(diǎn)
1、當(dāng)你的翻頁(yè)功能只能一頁(yè)一頁(yè)翻,那么可以取當(dāng)頁(yè)的最后一條數(shù)據(jù)的id,使用where id > last_id
這樣的行級(jí)過濾條件,limit
這里只需要 limit page_size
就可以了,mysql
的limit
有個(gè)問題,就是你如果寫limit 100000 10 它會(huì)把這100000 條數(shù)據(jù)都檢索一遍。這樣寫的好處就是你設(shè)置了一個(gè)過濾條件,那么他其實(shí)只會(huì)檢索你設(shè)置的page_size
的數(shù)據(jù)條數(shù),其次是你可以寫多個(gè)條件。
2、如果你是單條件查詢,那么可以使用子查詢,就是在where
行級(jí)過濾條件里使用 子查詢
,比如說 select * from table1 where id > (select id from table1 limit current_num, page_size) limit page_size
,這里子查詢走的主鍵索引,所以說速度是很快的。
3、當(dāng)涉及單條件和多條件查詢的時(shí)候,組合索引非常重要,比如 select id from table1 where age > 18
, 這里索引會(huì)先走where
條件 再走 id
,所以按照組合索引的最左原則,你懂得。
4、之后用 In()
取另一張表的數(shù)據(jù)即可,其實(shí)也就查詢兩次數(shù)據(jù)庫(kù),剩下的交給服務(wù)端處理一下就完事了。
5、能設(shè)置定長(zhǎng)的字段可以盡量設(shè)置為定長(zhǎng)。
還要說一點(diǎn)的是,其實(shí)當(dāng)數(shù)據(jù)量真的很大的時(shí)候,其實(shí)會(huì)用分表,索引表,分段查詢這些東西來做select
操作,有的可能會(huì)用sphinx
、Solr
這些全文檢索引擎。你可以取研究研究
File "/home/stephen/loading/Oppo/oppo.py", line 718, in <module>
看看這行代碼,錯(cuò)誤報(bào)得很清楚:Column count doesn't match value count at row 1
count列沒有對(duì)應(yīng)count的值
看看你的代碼吧, 沒有代碼很難猜(如果有列命名成count也不太合適)
以我的項(xiàng)目為例——基于 flask 的 CRUD 操作
其中 models.py
里的定義如下(源碼地址:https://github.com/eastossifrage/flask-wtf-crud/blob/basic/app/models.py:
class User(db.Model):
'''Example for crud
以用戶為例,來展示 CRUD 操作!
'''
__tablename__ = 'crud'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), unique=True, index=True)
email = db.Column(db.String(64), unique=True, index=True)
status = db.Column(db.Boolean, default=False)
role = db.Column(db.Boolean, default=False)
def __repr__(self):
return '<User %r>' % self.username
根據(jù)你的例子,你的 User
和 Role
兩個(gè)類中,前者沒有定義 __repr__(self)
,而后者定義了 __repr__(self)
類,所以造成你的顯示結(jié)果出現(xiàn)了不同的情況。
再者,建議看看資料,定義類的時(shí)候,注意一下 __repr__(self)
和 __str__(self)
兩個(gè)屬性。
簡(jiǎn)單的說__repr__(self)
是面向程序員的,而__str__(self)
是面向用戶的。
最后,送你個(gè)福利http://blog.csdn.net/luckytanggu/article/details/53649156
Out of memory: Kill process 21529 (python) score 690 or sacrifice child
你的程序內(nèi)存溢出了,檢查下你的代碼是哪里造成了這個(gè)內(nèi)存溢出
telnet localhost 3306 這個(gè)命令支行不了。
加引號(hào)試試。
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問,美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。