多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > 數據庫應用 > Redis的高級應用-事務處理、持久化、發布與訂閱消息、虛擬內存使用

Redis的高級應用-事務處理、持久化、發布與訂閱消息、虛擬內存使用

來源:程序員人生   發布時間:2015-02-28 08:34:55 閱讀次數:4251次

   3、事務處理

           Redis的事務處理比較簡單。只能保證client發起的事務中的命令可以連續的履行,而且不會插入其他的client命令,當1個client在連接中發出multi命令時,這個連接就進入1個事務的上下文,該連接后續的命令不會履行,而是寄存到1個隊列中,當履行exec命令時,redis會順序的履行隊列中的所有命令。如果其中履行出現錯去,履行正確的不會回滾,次不同于關系型數據庫的事務。

                  

             回滾后age的值已改變。

          取消1個事務用discard,取消事務隊列,數據全部回滾。

          Redis樂觀鎖:使用watch監視指定的key,當exec時如果監視的key從調用watch后產生過變化,這全部事務會失敗。可調用watch屢次監視多個key。watch和事務對全部連接有效,如果斷開了連接監視和事務都會清除(exec,discard,unwatch也不例外)。


     4、持久化機制

           Redis是1個支持持久化的內存數據庫,Redis需要常常將內存中的數據同步到磁盤來保證持久化。

           Redis支持兩種持久化方式:

                  1、snapshotting(快照),將數據寄存到文件里,默許方式。

                             是將內存中的數據已快照的方式寫入到2進制文件中,默許文件dump.rdb,可以通過配置設置自動做快照持久化的方式??膳渲肦edis在n秒內如果超過m

                       個key被修改就自動保存快照。


                            save 900 1       #900秒內如果超過1個key被修改,者發起快照保存

                            save 300  10   #300秒內如果超過10個key被修改,這快照保存

                            save  60    10000  #60秒內如果超過10000個數據被修改,發起快照保存


                  2、 Append-only file(縮寫為aof),將讀寫操作寄存到文件中。

                            由于快照方式在1定間隔時間做1次,所以如果Redis意外down掉的話,就會丟失最后1次快照后的所有修改。

                            aof比快照方式有更好的持久化性,是由于使用aof時,redis會將每個收到的寫命令都通過write函數住家到文件中當redis啟東市會通太重新履行文件中保存    

                     的寫命令來在內存中重新建立全部數據庫的內容。

                             由于os會在內核中緩存write做的修改,所以可能不是立即寫到磁盤上,這樣aof方式的持久化也還是有可能會丟失1部份數據。

                             可以通過配置文件告知redis我們想要通過fsync函數強迫os寫入到磁盤的時機。

                             

                             appendonly   yes  #啟用aof持久化方式

                             #appendfsync    always //收到寫命令就立即寫入磁盤,最慢,但是保證了數據的完全持久化

                             appendfsync       everysec  //每秒中寫入磁盤1次,在性能和持久化方面做了很好的折衷

                             #appendfsync      no     //完全依賴os,性能最好,持久化沒有保證


                  開啟以后,在bin文件夾中會多兩個存儲文件,以下:

                       

       

         5、發布與定閱信息

               發布定閱(pub/sub)是1種消息通訊模式,主要的目的是消除消息發布者和定閱者之間的耦合,Redis作為1個pub/sub的server,在定閱者和發布者之間起到消息路由的功能。定閱者通過subscribe和psubscribe命令向redis定閱自己感興趣的消息類型,redis將信息類型成為通道(channel)。當發布者通過關publish命令向redis server發送特定類型的信息時,定閱該消息類型的全部client都會接收到此消息。

            例如開啟3個客戶端,1個發布消息,另外兩個定閱消息,以下

                       

 

           6、虛擬內存的使用

                    Redis的虛擬內存是暫時吧不常常訪問的數據從內存交換到磁盤中,從而騰出內存空間用于其他的訪問數據,特別對redis這樣的內存數據庫,內存總是不夠用的。除分隔到多個redis server外,提高數據庫的容量的方法就是使用虛擬內存,把那些不常訪問的數據交換到磁盤上。

          通過配置vm相干的redis.config配置:

               vm-enable  yes                                      #開啟vm功能

               vm-swap-file    /tmp/redis.swap          #交換出來的value保存的文件路徑

               vm-max-memory    10000000              #redis使用的最大內存上線

               vm-page-size           32                           #每一個頁面的大小32字節

               vm-pages                  123217729          #最多使用多小個頁面

               vm-max-threads        4                            #用于履行value對象換入的工作線程數量

        虛擬內存管理在2.6及之上版本取消了


         

                

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美男人天堂 | 亚洲日本韩国在线 | 欧美高清揄拍自拍视频网站 | 亚洲美女一区 | 国产欧美日韩精品一区二区三区 | 一级做a爰片性色毛片视频图片 | 欧美日韩加勒比一区二区三区 | 欧美性受xxxx黑人xyx | 国产逼 | 欧美综合在线视频 | 性久久久久久久久久久 | 新武则天一级淫片免费放 | 精品一精品国产一级毛片 | 日本aa大片在线播放免费看 | 亚洲乱码视频在线观看 | 免费午夜影院 | 网站免费视频 | 乱老女人一二区视频 | 欧美视频亚洲 | 免费看黄的网址 | 午夜影院免费观看视频 | 日韩 欧美 自拍 在线 视频 | 2022国产成人精彩在线视频 | 国产精品第一页第一页 | 叼嘿视频在线观看免费 | 亚洲十欧美十日韩十国产 | 人人爱人人爽 | 午夜影院在线观看免费 | 伊人影视 | 香蕉国产成版人视频在线观看 | 国产dvd毛片在线视频 | 精品亚洲欧美高清不卡高清 | 在线高清视频 | h视频网站在线 | 色悠久久久久综合欧美99 | 午夜影院福利 | 欧美一级片黄色片 | 亚洲国产精品久久久天堂 | 国产黄色在线网站 | 日韩一级片视频 | 日韩一级欧美一级在线观看 |