本發(fā)明涉及軟件開發(fā)領域,具體涉及一種在事件的評論列表中添加評論的方法及評論系統(tǒng)。
背景技術:
redis分布式緩存常應用于存儲事件如新聞、文章、商品等的評價或評論數據,由于redis對鍵名的設計沒有規(guī)范強制性的要求,因此開發(fā)人員和設計人員對鍵名的設計非常隨意,設計風格各異,容易造成鍵名的可讀性不高。隨著用戶不斷地在評論列表中添加評論,使用redis場景越來越多,時間越來越長,這些鍵名也越來越多之后,就會由于可讀性不高而造成redis緩存數據的混亂,導致維護成本增大。
技術實現要素:
本發(fā)明所要解決的技術問題是針對現有的redis中鍵名設計規(guī)則不統(tǒng)一、可讀性差的問題,提供一種在事件的評論列表中添加評論的方法及評論系統(tǒng),在添加評論時采用具有高可讀性的鍵名設計規(guī)則。
本發(fā)明解決上述技術問題的技術方案如下:一種在事件的評論列表中添加評論的方法,包括以下步驟:
接收事件的評論信息,并為所述評論信息生成評論id,其中,所述評論信息中包括評論內容和用戶名;
存儲所述用戶名和評論內容,所述用戶名的鍵名由所述評論id、所述評論信息的對象名稱和/或所述用戶名的屬性名稱組成,所述評論內容的鍵名由所述評論id、所述評論信息的對象名稱和/或所述評論內容的屬性名稱組成;
創(chuàng)建所述事件的評論列表,并將所述評論id添加到所述評論列表中。
本發(fā)明的有益效果是:在設計鍵名時采用評論信息的對象名稱、用戶名的屬性名稱、評論內容的屬性名稱和評論id的組合形式,能夠提高鍵名的可讀性,便于前期的設計開發(fā)和后期維護,從而降低開發(fā)及維護成本。
在上述技術方案的基礎上,本發(fā)明還可以做如下改進。
進一步,以string類型存儲所述用戶名時,所述用戶名的鍵名由評論信息的對象名稱、評論id和用戶名的屬性名稱組成,鍵值中保存用戶名;
以string類型存儲所述評論內容時,所述評論內容的鍵名由評論信息的對象名稱、評論id和評論內容的屬性名稱組成,鍵值中保存評論內容。
進一步,以hash類型存儲所述用戶名時,所述用戶名的鍵名由評論信息的對象名稱和評論id組成,域名由用戶名的屬性名稱組成,鍵值中保存評論者名字;
以hash類型存儲所述評論內容時,所述評論內容的鍵名由評論信息的對象名稱和評論id組成,域名由評論內容的屬性名稱組成,鍵值中保存評論內容。
進一步,創(chuàng)建集合類型的評論列表時,為所述事件生成事件id,所述評論列表的鍵名由評論信息的對象名稱、評論信息的查找規(guī)則和事件id組成,鍵值中保存事件對應的評論id。
進一步,創(chuàng)建集合類型的評論列表時,為所述事件生成事件id,所述評論列表的鍵名由評論信息所屬的系統(tǒng)名稱、評論信息的對象名稱、評論信息的查找規(guī)則和事件id組成。
為實現上述發(fā)明目的,本發(fā)明還提供一種評論系統(tǒng),包括:
評論接收模塊,用于接收事件的評論信息,并為所述評論信息生成評論id,其中,所述評論信息中包括評論內容和用戶名;
存儲模塊,用于存儲所述用戶名和評論內容,所述用戶名的鍵名由所述評論id、所述評論信息的對象名稱和/或所述用戶名的屬性名稱組成,所述評論內容的鍵名由所述評論id、所述評論信息的對象名稱和/或所述評論內容的屬性名稱組成;
創(chuàng)建模塊,用于創(chuàng)建所述事件的評論列表,并將所述評論id添加到所述評論列表中。
本發(fā)明的有益效果是:在設計鍵名時采用評論信息的對象名稱、用戶名的屬性名稱、評論內容的屬性名稱和評論id的組合形式,能夠提高鍵名的可讀性,便于前期的設計開發(fā)和后期維護,從而降低開發(fā)及維護成本。
在上述技術方案的基礎上,本發(fā)明還可以做如下改進。
進一步,所述存儲模塊以string類型存儲所述用戶名時,所述用戶名的鍵名由評論信息的對象名稱、評論id和用戶名的屬性名稱組成,鍵值中保存用戶名;
以string類型存儲所述評論內容時,所述評論內容的鍵名由評論信息的對象名稱、評論id和評論內容的屬性名稱組成,鍵值中保存評論內容。
進一步,所述存儲模塊以hash類型存儲所述用戶名時,所述用戶名的鍵名由評論信息的對象名稱和評論id組成,域名由用戶名的屬性名稱組成,鍵值中保存評論者名字;
以hash類型存儲所述評論內容時,所述評論內容的鍵名由評論信息的對象名稱和評論id組成,域名由評論內容的屬性名稱組成,鍵值中保存評論內容。
進一步,所述創(chuàng)建模塊創(chuàng)建集合類型的評論列表時,為所述事件生成事件id,所述評論列表的鍵名由評論信息的對象名稱、評論信息的查找規(guī)則和事件id組成,鍵值中保存事件對應的評論id。
進一步,所述創(chuàng)建模塊創(chuàng)建集合類型的評論列表時,為所述事件生成事件id,所述評論列表的鍵名由評論信息所屬的系統(tǒng)名稱、評論信息的對象名稱、評論信息的查找規(guī)則和事件id組成。
附圖說明
圖1為本發(fā)明實施例提供的一種在事件的評論列表中添加評論的方法的流程圖;
圖2為本發(fā)明實施例提供的一種評論系統(tǒng)的結構框圖。
具體實施方式
以下結合附圖對本發(fā)明的原理和特征進行描述,所舉實例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
圖1為本發(fā)明實施例提供的一種在事件的評論列表中添加評論的方法的流程圖,如圖1所示,該方法包括以下步驟:
101、接收事件的評論信息,并為所述評論信息生成評論id,其中,所述評論信息中包括評論內容和用戶名;
102、存儲所述用戶名和評論內容,所述用戶名的鍵名由所述評論id、所述評論信息的對象名稱和/或所述用戶名的屬性名稱組成,所述評論內容的鍵名由所述評論id、所述評論信息的對象名稱和/或所述評論內容的屬性名稱組成;
103、創(chuàng)建所述事件的評論列表,并將所述評論id添加到所述評論列表中。
具體的,在接收到評論信息時,首先為評論信息生成一個評論id,以便于后面的存儲,將評論信息作為一個對象,按照屬性的不同可以分成用戶名和評論內容。在存儲用戶名時,在其鍵名中添加評論id、評論信息的對象名稱和/或用戶名的屬性名稱,在存儲評論內容時,在其鍵名中添加評論id、評論信息的對象名稱和/或評論內容的屬性名稱,其中,評論信息的對象名稱、用戶名的屬性名稱和評論內容的屬性名稱用表示其含義的單詞或者字符命名,例如,評論信息的對象名稱命名為comment、review等,用戶名的屬性名稱命名為username,評論內容的屬性名稱命名為content,另外,鍵名的每個組成部分之間通過符號進行間隔,且每個組成部分均以小駝峰法命名規(guī)則進行命名,如username寫成username。
上述實施例提供的在事件的評論列表中添加評論的方法,采用具有高可讀性的鍵名設計規(guī)則,便于前期的設計開發(fā)和后期維護,從而降低開發(fā)及維護成本。
可選地,在該實施例中,以string類型存儲所述用戶名時,所述用戶名的鍵名由評論信息的對象名稱、評論id和用戶名的屬性名稱組成,鍵值中保存用戶名。
以string類型存儲所述評論內容時,所述評論內容的鍵名由評論信息的對象名稱、評論id和評論內容的屬性名稱組成,鍵值中保存評論內容。
具體的,假設用戶名為張三,評論id為101,評論信息的對象名稱命名為comment,用戶名的屬性名稱命名為username,“:”作為連接符,則用戶名的鍵名為:comment:101:username,鍵值為:張三。
假設評論內容為支持,評論id為101,評論信息的對象名稱命名為comment,評論內容的屬性名稱命名為content,“:”作為連接符,則評論內容的鍵名為:comment:101:content,鍵值為:支持。
上述實施例提供的在事件的評論列表中添加評論的方法,在以string類型存儲用戶名和評論內容時,用戶名和評論內容的鍵名具有很高的可讀性,另外,其他運維人員也很容易理解數據保存的內容,便于后期維護。
可選地,在該實施例中,以hash類型存儲所述用戶名時,所述用戶名的鍵名由評論信息的對象名稱和評論id組成,域名由用戶名的屬性名稱組成,鍵值中保存評論者名字。
以hash類型存儲所述評論內容時,所述用戶名的鍵名由評論信息的對象名稱和評論id組成,域名由評論內容的屬性名稱組成,鍵值中保存評論內容。
具體的,假設用戶名為張三,評論id為101,評論信息的對象名稱命名為comment,用戶名的屬性名稱命名為username,“:”作為連接符,則用戶名的鍵名為:comment:101,域名為:username,鍵值為:張三。
假設評論內容為支持,評論id為101,評論信息的對象名稱命名為comment,評論內容的屬性名稱命名為content,“:”作為連接符,則評論內容的鍵名為:comment:101,域名為:content,鍵值為:支持。
上述實施例提供的在事件的評論列表中添加評論的方法,在以hash類型存儲用戶名和評論內容時,用戶名和評論內容的鍵名具有很高的可讀性,另外,其他運維人員也很容易理解數據保存的內容,便于后期維護。
可選地,在該實施例中,創(chuàng)建集合類型的評論列表時,為所述事件生成事件id,所述評論列表的鍵名由評論信息的對象名稱、評論信息的查找規(guī)則和事件id組成,鍵值中保存事件對應的評論id。
具體的,評論列表的鍵名設計采用通用的規(guī)則(查找對象:查找規(guī)則:變量),也就是從查找的維度出發(fā)來設計鍵名。其中查找對象為評論信息,評論信息的對象名稱命名為comment,查找規(guī)則可設定為通過事件id查找對應的所有評論id,其中事件id命名為newsid,對應的所有評論id命名為commentids,那么查找規(guī)則命名為newsid.to.commentids,變量為事件id,設事件id為n01,則最終的鍵名設計為:comment:newsid.to.commentids:n01,評論列表中存儲事件對應的所有評論信息的評論id,這樣,根據事件id就可以在評論列表中找到對應的所有評論信息的評論id,并根據評論信息的評論id找到對應的用戶名和評論內容。
可選地,在該實施例中,創(chuàng)建集合類型的評論列表時,為所述事件生成事件id,所述評論列表的鍵名由評論信息所屬的系統(tǒng)名稱、評論信息的對象名稱、評論信息的查找規(guī)則和事件id組成。
具體的,在和其他系統(tǒng)同時共用redis中存儲的評論信息,可以加一個評論信息所屬的系統(tǒng)名稱,系統(tǒng)名稱以系統(tǒng)縮寫前綴來命名,如評論系統(tǒng)以cmt表示,評論列表的鍵名設計為cmt:comment:newsid.to.commentids:n01,這樣能夠避免多系統(tǒng)公用redis服務時由于鍵名相同而產生沖突。
圖2為本發(fā)明實施例提供的一種評論系統(tǒng)的結構框圖,如圖2所示,該系統(tǒng)包括:
評論接收模塊201,用于接收事件的評論信息,并為所述評論信息生成評論id,其中,所述評論信息中包括評論內容和用戶名;
存儲模塊202,用于存儲所述用戶名和評論內容,所述用戶名的鍵名由所述評論id、所述評論信息的對象名稱和/或所述用戶名的屬性名稱組成,所述評論內容的鍵名由所述評論id、所述評論信息的對象名稱和/或所述評論內容的屬性名稱組成;
創(chuàng)建模塊203,用于創(chuàng)建所述事件的評論列表,并將所述評論id添加到所述評論列表中。
上述實施例提供的評論系統(tǒng)在設計鍵名時采用評論信息的對象名稱、用戶名的屬性名稱、評論內容的屬性名稱和評論id的組合形式,能夠提高鍵名的可讀性,便于前期的設計開發(fā)和后期維護,從而降低開發(fā)及維護成本。
可選地,在該實施例中,所述存儲模塊以string類型存儲所述用戶名時,所述用戶名的鍵名由評論信息的對象名稱、評論id和用戶名的屬性名稱組成,鍵值中保存用戶名;
以string類型存儲所述評論內容時,所述評論內容的鍵名由評論信息的對象名稱、評論id和評論內容的屬性名稱組成,鍵值中保存評論內容。
具體的,假設用戶名為張三,評論id為101,評論信息的對象名稱命名為comment,用戶名的屬性名稱命名為username,“:”作為連接符,則用戶名的鍵名為:comment:101:username,鍵值為:張三。
假設評論內容為支持,評論id為101,評論信息的對象名稱命名為comment,評論內容的屬性名稱命名為content,“:”作為連接符,則評論內容的鍵名為:comment:101:content,鍵值為:支持。
上述實施例提供的在事件的評論列表中添加評論的方法,在以string類型存儲用戶名和評論內容時,用戶名和評論內容的鍵名具有很高的可讀性,另外,其他運維人員也很容易理解數據保存的內容,便于后期維護。
可選地,在該實施例中,所述存儲模塊以hash類型存儲所述用戶名時,所述用戶名的鍵名由評論信息的對象名稱和評論id組成,域名由用戶名的屬性名稱組成,鍵值中保存評論者名字;
以hash類型存儲所述評論內容時,所述評論內容的鍵名由評論信息的對象名稱和評論id組成,域名由評論內容的屬性名稱組成,鍵值中保存評論內容。
具體的,假設用戶名為張三,評論id為101,評論信息的對象名稱命名為comment,用戶名的屬性名稱命名為username,“:”作為連接符,則用戶名的鍵名為:comment:101,域名為:username,鍵值為:張三。
假設評論內容為支持,評論id為101,評論信息的對象名稱命名為comment,評論內容的屬性名稱命名為content,“:”作為連接符,則評論內容的鍵名為:comment:101,域名為:content,鍵值為:支持。
上述實施例提供的在事件的評論列表中添加評論的方法,在以hash類型存儲用戶名和評論內容時,用戶名和評論內容的鍵名具有很高的可讀性,另外,其他運維人員也很容易理解數據保存的內容,便于后期維護。
可選地,在該實施例中,所述創(chuàng)建模塊創(chuàng)建集合類型的評論列表時,為所述事件生成事件id,所述評論列表的鍵名由評論信息的對象名稱、評論信息的查找規(guī)則和事件id組成,鍵值中保存事件對應的評論id。
具體的,評論列表的鍵名設計采用通用的規(guī)則(查找對象:查找規(guī)則:變量),也就是從查找的維度出發(fā)來設計鍵名。其中查找對象為評論信息,評論信息的對象名稱命名為comment,查找規(guī)則可設定為通過事件id查找對應的所有評論id,其中事件id命名為newsid,對應的所有評論id命名為commentids,那么查找規(guī)則命名為newsid.to.commentids,變量為事件id,設事件id為n01,則最終的鍵名設計為:comment:newsid.to.commentids:n01,評論列表中存儲事件對應的所有評論信息的評論id,這樣,根據事件id就可以在評論列表中找到對應的所有評論信息的評論id,并根據評論信息的評論id找到對應的用戶名和評論內容。
可選地,在該實施例中,所述創(chuàng)建模塊創(chuàng)建集合類型的評論列表時,為所述事件生成事件id,所述評論列表的鍵名由評論信息所屬的系統(tǒng)名稱、評論信息的對象名稱、評論信息的查找規(guī)則和事件id組成。
具體的,在和其他系統(tǒng)同時共用redis中存儲的評論信息,可以加一個評論信息所屬的系統(tǒng)名稱,系統(tǒng)名稱以系統(tǒng)縮寫前綴來命名,如評論系統(tǒng)以cmt表示,評論列表的鍵名設計為cmt:comment:newsid.to.commentids:n01,這樣能夠避免多系統(tǒng)公用redis服務時由于鍵名相同而產生沖突。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。