鍍金池/ 問答/ 數(shù)據(jù)庫問答
氕氘氚 回答

你應(yīng)該試試,在服務(wù)器上用mongo客戶端是不是可以連接上。。。

如果可以連接上,那就是你的27017端口外網(wǎng)是不可以訪問的,阿里云安全組中27017端口默認(rèn)沒有添加的,外網(wǎng)不可以訪問的

柒喵 回答

突然發(fā)現(xiàn)自己有點呆,docker中啟動的mysql 端口鏡像指向服務(wù)器,所以只需要訪問192.168.0.130這臺數(shù)據(jù)庫服務(wù)器的端口就可以了

哚蕾咪 回答

在hessian序列化中需滿足:

  1. 類需實現(xiàn)Serializable接口
  2. 類需有無參構(gòu)造函數(shù)或者是帶參數(shù)構(gòu)造函數(shù)中的參數(shù)滿足基本類型

你使用的spring-data提供的通用分頁類中并不支持

clipboard.png

所以說你的解決方案只能是:

  1. 更換dubbo的其他序列化方式 protobuf kryo fastJson等
  2. 手動實現(xiàn)通用分頁類,就不會存在這些問題
若相惜 回答

建議換一個swoole的版本試一試

巫婆 回答

讀取的時候再設(shè)一次編碼就行了

心悲涼 回答
select c1 as res from t1 where c1=2
union
select c2 as res from t2 where c2=2
union
select c3 as res from t3 where c3=2
....
舊螢火 回答

8.0版本 只有菜單漢化了 ...
鏈接:https://pan.baidu.com/s/1smMm... 密碼:vk3o

謝邀,mysql的主從數(shù)據(jù)庫是在mysql層上做的。Django沒有實現(xiàn)數(shù)據(jù)庫主從配置。http://blog.csdn.net/pasic/ar...

你說的那個db路由,是多數(shù)據(jù)庫及分庫的情況。當(dāng)然你也可以把主從數(shù)據(jù)庫寫入:

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.mysql',
    'HOST': 'ip',                 #主服務(wù)器ip
    'PORT': 3306,
    'USER': 'root',
    'PASSWORD': 'mysql',
    'NAME': 'dailyfresh_14'
    },
'slave': {
    'ENGINE': 'django.db.backends.mysql',
    'HOST': 'ip',                 #從服務(wù)器ip
    'PORT': 3306,
    'USER': 'root',
    'PASSWORD': 'mysql',
    'NAME': 'dailyfresh_14'
    }
}
痞性 回答

是可以的,但是感覺name-time-list:date這個有些多余,可以考慮使用 data 就使用 集合,可以將時間戳放到第一位

巫婆 回答

你用的什么系統(tǒng),還有pg 版本,是不是你的用戶不對,還有依賴包沒有。

黑與白 回答

找不到環(huán)境變量FLASK_APP。

我記得Powershell里的set只是定義一個變量而不是環(huán)境變量。

試一下$env:FLASK_APP = "dispatch.py"

柚稚 回答

id隨便什么類型都行,每一個數(shù)據(jù)mongodb都會給你自動成成一個objectid類型的_id,你也可以直接使用_id

喵小咪 回答
都說互聯(lián)網(wǎng)開發(fā)盡量不用外鍵,那么這里的不用外鍵到底代表的啥意思呢?

這里的外鍵指的數(shù)據(jù)庫的外鍵約束。

不用外鍵約束。比如刪除一張表中的數(shù)據(jù)時,如果要級聯(lián)刪除另一張表中關(guān)聯(lián)的數(shù)據(jù),以往是由數(shù)據(jù)庫來級聯(lián)約束的,現(xiàn)在應(yīng)該將其移到程序中由程序來保持?jǐn)?shù)據(jù)的一致性。

是的。外鍵這種約束關(guān)系不在由數(shù)據(jù)庫幫你保持維護(hù),由應(yīng)用程序維護(hù)。

外鍵的定義就是在一個表中的字段是另外一張表中的主鍵。如果僅按照"不使用外鍵"這幾個字的字面理解,就是要把外鍵字段抽取出來放在一張中間表中。簡單說就是都當(dāng)成多對多來處理。

不是的。怎么建表還是和原來一樣,只不過在需要建立外鍵約束的地方不建立外鍵約束而已。

比如我們原來建表語句是這樣的:

CREATE TABLE `user` (
  `user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
  `user_name` varchar(50) NOT NULL DEFAULT '' COMMENT '用戶名',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `order` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
  `total_price` decimal(10,2) NOT NULL DEFAULT '0.00',
  `user_id` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `for_indx_user_id` (`user_id`),
  CONSTRAINT `for_indx_user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

不是用外鍵約束后:

CREATE TABLE `user` (
  `user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
  `user_name` varchar(50) NOT NULL DEFAULT '' COMMENT '用戶名',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `order` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
  `total_price` decimal(10,2) NOT NULL DEFAULT '0.00',
  `user_id` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

不適用外鍵約束后,為了加快查詢我們通常會給不建立外鍵約束的字段添加一個索引。

CREATE TABLE `order` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
  `total_price` decimal(10,2) NOT NULL DEFAULT '0.00',
  `user_id` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `idx_user_id` (`user_id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

如果你理解了,你下面的問題就自然而然不存在了。

避免使用外鍵,可以在插入數(shù)據(jù)時通過程序維持約束關(guān)系。

使用外鍵約束優(yōu)點:

  • 外鍵可節(jié)省開發(fā)量
  • 外鍵能約束數(shù)據(jù)有效性,非法數(shù)據(jù)不能插入

使用外鍵約束缺點:

  • 有額外開銷
  • 主鍵表被鎖定時,會引發(fā)外鍵表也被鎖
  • 刪除主鍵表的數(shù)據(jù)時,需先刪除外鍵表的數(shù)據(jù)
  • 修改外鍵表字段時,需重建外鍵約束

實際開發(fā)中,一般不會建立外鍵約束。

我不懂 回答

就個人所知沒有哪個數(shù)據(jù)庫可以“設(shè)置”鎖的粒度。不知道設(shè)置鎖的粒度是什么目的?
MMAPv1引擎在>=3.0以后是集合級,之前是數(shù)據(jù)庫級。
具體可以看一下文檔:FAQ Concurrency

愿如初 回答

存放COOKIE的時候 存一個A 一個key=>value
后端存COOKIE的時候 自己用保密的私鑰B 通過算法(B+key=>value) 得出A
把A和key=>value 同時存在客戶端,使用的時候 也必須用同等的算法校驗下數(shù)據(jù)合法性

硬扛 回答
def print_comment(html):
    comments = etree.fromstring(html)     # 是xml不是html
    print(len(comments.xpath('/i/d')))
舊螢火 回答

Java中的一個char采用的是Unicode編碼集,占用兩個字節(jié),而一個中文字符也是兩個字節(jié),因此Java中的char是可以表示一個中文字符的。

葬憶 回答

看了一遍下來我覺得你要解決的似乎就2個問題:

  1. 較高的插入性能
  2. 方便地更新和刪除

從MongoDB的角度來講滿足這2點沒有什么問題。

  1. MongoDB的分片機制可以讓數(shù)據(jù)在邏輯上是一個整體,在物理上分散到不同的服務(wù)器。比起分庫分表是一個更簡單易用的解決方案。
  2. 性能上給個簡單參考:在我的Macbook Pro (SSD磁盤)上一個沒有任何優(yōu)化的實例插入小文檔(100字節(jié)左右),應(yīng)用BULK操作大約能有10w+/s的插入速度。如果有必要還可以通過分片加服務(wù)器來擴(kuò)展。
  3. 不清楚你要進(jìn)行什么樣的更新,但是通常情況下MongoDB可以根據(jù)指定的條件更新指定的文檔,并且可以命中二級索引,大部分場景下是適用的。至于刪除數(shù)據(jù),MongoDB有TTL Index可以自動根據(jù)時間刪除過期的數(shù)據(jù)。

不知道有沒有解答到你的疑問。如果有更詳細(xì)的需求可以再描述一下。