ITOO考評學生端效能優化 Redis

2022-09-13 05:48:10 字數 4023 閱讀 9425

1.學生抽題慢

2.做學生端的時候發現學生每次做一道題的時候觸發一次資料庫,把資料更新到資料庫裡面,這樣子學生端前台響應很慢,每次點選的時候都有1-2秒的延遲。然後當學生多的時候,不斷的對一張表進行更改,大家都懂得。

(加redis)

1. 把共用的東西放到redis裡面

2. 師姐的意思大體是這樣子的,我每次更新的時候並不是更新的資料庫,而是redis,一段時間後內容把整個都提交到資料庫裡面。(反正原話我已經忘記了……)

其實解決抽題中的公共部分,而且給的文件很詳細很簡單:

/**

* **邏輯:

* 首先檢視redis是否有題型

* 如果有的話,直接讀取redis的內容,如果沒有的話,就去資料庫裡面查

// 定義題型集合

list

<

questiontypedetail

>

questiontypesdetaillist

=new

arraylist

<

questiontypedetail

>();

string

getquestiontypedetail

=jediscluster

.get

(persorttypeid

);

if(

getquestiontypedetail

==null

||getquestiontypedetail

.equals(""

))else

catch

(ioexceptione)

}

}else

jacksonjsonuntil

.beantojson

(response

,questiontypesdetaillist

);

主要用到的redis的**例子:

//新增list("test4"

//查詢list

昨天才接觸redis,我還比較單純,已經對於redis的操作,只有文件上面的get,set這兩個方法。所以當郭郭跟我說,重名的時候,資料就會被覆蓋了,我一測試,可不是嘛,於是我果斷的用

persorttypeid作為key值。

但是,今天在查詢的時候,才知道是因為我直接set,如果用list儲存結構,用lpush()方法就能輕鬆解決問題了。但是也是因為關於底層redis封裝的方法太少了,用起來一直在各種轉換。

/*** 根據課程id,學生id,試卷id,資料庫;查詢考生答題記錄;* 十一期 譚倩倩* 修改人:譚倩倩

* 修改原因:新增radis

重點邏輯:

獲取redis儲存資料的個數作為迴圈的條件

把list的每個實體查詢出來,匹配對應的答案,

更新list裡面的資料

//快取更新

list

<

*****record

>

stulist*****record

=new

arraylist

<

*****record

>();

string

stu*****record

=examineearrangement

.getstudentid

()+"list*****record"

;

long

count

=jediscluster

.llen

(stu*****record

);//獲取redis儲存資料的個數

// stulist*****record=jsonutils.jsontolist(strlist*****record,*****record.class);

if(

count==0

)else

catch

(ioexceptione)

}

}

其實,我是在點選「交卷」的時候把資料儲存到資料庫的。

我感覺我的redis僅僅是用了一點點,並沒有很好地利用。以後有機會自己再多學習一下,感謝我老公和紅霞給我各種指導和建議。

還有,就是不要僅僅依賴技術文件。這次我明顯感覺到文件給我的滿足不了業務需求,不要嘗試用自己的簡單邏輯處理,先去查查網上有沒有好的方法。

中期考評調研

想解決的或者是要解決的問題 回答需慢慢完善 q1 我用關係型資料庫構建的 知識圖譜 怎樣利用 知識圖譜 的分析能力?a1 資料庫毀了啊。先想想如何實現資料報入資料庫,以及資料報到攻擊事件or網路異常的跨越?最後再想攻擊事件如何關聯。q2 在利用 網安知識圖譜 的前提下,怎樣做 告警關聯 多找找告警關...

管理感悟 怎樣考評工作產出

管理感悟 怎樣考評工作產出 紅朝儒生 2016 5 9 關鍵字 管理 產出 簡介 真正的技術高手,能解決別人解決不了的問題,看起來沒有辦法解決的問題。上文說過,用工作產出衡量技術,大家心服口服。那有人問了,怎樣考評工作產出呢?其實這事也真不是那麼容易。以軟體而言,工作產出有 即實現的功能 故障解決。...

快速入手ITOO匯入 客戶端

最近正在按照師哥的文件做匯入,瀏覽了好幾遍才知道流程。在這裡給大家分享一下大概流程和容易出現的問題。好讓 itoo 的同志們容易上手。先介紹一下客戶端的流程。流程 1 設計介面 在要做匯入的介面新增 html 和js 以我的基礎匯入課程為例。新增如下 using html.beginform imp...