redis學習筆記——(1)

1. NoSQL&Redis介紹

?????? NoSQL,Not Only SQL,是非關系型的數據庫。傳統的關系數據庫不能滿足超大規模和高并發的應用。

?????? 是以Key-Value的形式存儲,(例如JSON,XML),不一定遵循傳統數據庫的一些基本要求,比如SQL標準、ACID屬性(Atomicity/ Consistency/Isolation/Durability)、表結構等。主要有以下的特點:非關系型的、分步式的、開源的、水平可擴展的(指能夠連接多個軟硬件的特性)。

?????? NoSQL適用場景:

????????????? 1)、High performance - 對數據高并發讀寫

????????????? 2)、Huge storage - 對海量數據的高效率存儲和訪問

????????????? 3)、High scalability && HighAvailability - 對數據的高可擴展性和高可用性

?????? 開源的NoSQL數據庫:Redis, MongoDB, Cassandra…...

?????? Redis的介紹

?????? Redis是一個Key-Value存儲系統。它支持存儲的value類型有:string(字符串),list(鏈表),?set(無序集合),zset(sorted set有序集合)和hash,也可以把redis看成一個數據結構服務器。這些數據類型都支持pust/popadd/remove及取交集、并集和差集運算,Redis支持各種不同方式的排序。數據都是緩存在內存中的,它也可以周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,并實現了master-slave(主從)同步。

?????? Redis提供的API語言包括C、C++、C#、Java、JavaScript、Lua、Objective-C、Perl、PHP、Python、Ruby、Go、Tcl等。

?????? 使用Redis:新浪微博,200+ Server、400 port、4G data.

?????? 使用方式:與memcache相同

????????????? 1. 應用程序直接訪問Redis數據庫;

????????????? 2. 應用程序直接訪問Redis,只有當訪問Redis失敗時才訪問MySQL

?????? 應用場合:

????????????? 1. 取最新N個數據的操作

????????????? 2. 排行榜應用

????????????? 3. 需要精確設定過期時間的應用

????????????? 4. 計數器應用

????????????? 5. Uniq操作,獲取某段時間所有數據排重值

????????????? 6. 實時系統,反垃圾系統

????????????? 7. Pub/Sub構建實時消息系統

????????????? 8. 構建隊列系統

????????????? 9. 緩存

????????????? 10. 存儲微博關注關系

?????? Redis有庫無表無字段無行列。MongoDB有庫有集合(對應于Mysql中的表)

2. Redis的安裝

?????? 官網:http://redis.io

?????? 步驟一:

????????????? 下載安裝包:

????????????? wget?http://redis.googlecode.com/files/redis-2.4.17.tar.gz

?????? 步驟二:

????????????? 編譯源代碼:

????????????? tarzxvf redis-2.4.17.tar.gz

????????????? cdredis-2.4.17

????????????? make

????????????? cdsrc

????????????? makeinstall

????????????? 注:make完成后,有產生可執行文件

???????????????????? redis-server:redis服務器的啟動程序

???????????????????? redis-cli:redis命令行工具,也可為客戶端

???????????????????? redis-benchmark:redis性能測試工具(讀寫)

???????????????????? redis-stat:redis狀態檢測工具(狀態參數延遲)

?????? 步驟三:(非必須)

????????????? 移動文件,便于管理

????????????? mkdir –p /usr/local/redis/bin

????????????? mkdir –p /usr/local/redis/etc

????????????? mv redis-2.4.17/redis.conf/usr/local/redis/etc

????????????? mvmkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli ? redis-server /usr/lcoal/redis/bin

?????? 步驟四:

????????????? 啟動redis服務

? ? ? ? ? ? ? /usr/local/redis/bin/redis-server(有警告,沒有加載配置文件)

????????????? /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

????????????? Redis服務端的默認連接端口是6379

????????????? Redis默認不是后臺運行

?????? 步驟五:

????????????? 客戶端連接

????????????? /usr/local/redis/bin/redis-cli

????????????? 或者其他客戶端:如phpredis

?

[php]?view plaincopyprint?
  1. $redis?=?new?Redis();??
  2. $redis->connect(“127.0.0.1”,?6379);??

?

?????? 步驟六:

????????????? 停止Redis

????????????? /usr/local/redis/bin/redis-clishutdown

????????????? or

????????????? pkill redis-server

3. ?Redis的配置

????????????? daemonize 如果需要在后臺運行,把該項改為yes

????????????? pidfile 配置多個pid的地址,默認在/var/run/redis.pid

????????????? bind 綁定ip,設置后只接受自該ip的請求

????????????? port 監聽端口,默認為6379

????????????? timeout 設置客戶端連接時的超時時間,單位為秒

????????????? loglevel 分為4級,debug、verbose、notice、warning

????????????? logfile 配置log文件地址

????????????? databases 設置數據庫的個數,默認使用的數據庫為0

????????????? save 設置redis進行數據庫鏡像的頻率,保存快照的頻率,第一個*表示多長時間,?????? 第三個*表示執行多少次寫操作。在一定時間內執行一定數量的寫操作時,自動保存快照。可設置多個條件。

????????????? rdbcompression 在進行鏡像備份時,是否進行壓縮

????????????? Dbfilename 鏡像備份文件的文件名

????????????? Dir 數據庫鏡像備份的文件放置路徑

????????????? Slaveof 設置數據庫為其他數據庫的從數據庫?

????????????? Masterauth 主數據庫連接需要的密碼驗證

????????????? Requirepass 設置登錄時需要使用的密碼

????????????? Maxclients 限制同時連接的客戶數量

????????????? Maxmemory 設置redis能夠使用的最大內存

????????????? Appendonly 開啟append only模式

????????????? appendfsync 設置對appendonly.aof文件同步的頻率

????????????? vm-enabled 是否虛擬內存的支持

????????????? vm-swap-file 設置虛擬內存的交換文件路徑

????????????? vm-max-memory 設置redis使用的最大物理內存大小

????????????? vm-page-size 設置虛擬內存的頁大小

????????????? vm-pages 設置交換文件的總page數量

????????????? vm-max-threads 設置VMIO同時使用的線程數量

????????????? glueoutputbuf 把小的輸出緩存存放在一起

????????????? hash-max-zipmap-entries 設置hash的臨界值

????????????? activerehashing 重新hash

轉載于:https://www.cnblogs.com/dyc-cfc/p/4262616.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/376279.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376279.shtml
英文地址,請注明出處:http://en.pswp.cn/news/376279.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

命令模式堅決svn樹沖突(local unversioned, incoming add upon update)

當工作目錄修改刪除過時更新使用svn更新就容易發生樹沖突“Tree Confilict”.會出現類似提示。 local unversioned, incoming add upon update1local unversioned,incoming add upon update如果使用圖形化客戶端可以通過對比文件和解決沖突按鈕進行解決, 如果是使用…

c++ vector學習

參考資料: cppreference.com 本文代碼: 本文源碼 目錄隱式成員函數1.operator (賦值給容器)2.assign (將值賦給容器)元素訪問3.at (訪問指定元素,進行下標檢查)4.operat…

linux關閉聲音

對于CentOS/Redhat/RHEL/Fedora系統,使用root身份執行:echo "alias pcspkr off" >> /etc/modprobe.conf轉載于:https://www.cnblogs.com/keethebest/p/3434821.html

Bundle Identifier

Bundle Identifier : 產品的唯一標識符 1.在模擬器上面,只能有一個唯一的標識符的應用程序 2.在AppStore上,所有的應用程序的Bundler ID都是唯一的 Bundle ID 公司的反向域名 產品名 Bundle ID 不支持中文,因此如果是上架產品,需…

c++ array學習

參考資料: cppreference.com 本文代碼: 本文源碼 array和vector的區別是array是和C中的數組類似,不能動態改變數組大小,所以會比vector少很多函數。 目錄隱式定義的成員函數1.operator (將另一個容器拷貝過來&#x…

lucene4入門(2)搜索

歡迎轉載http://www.cnblogs.com/shizhongtao/p/3440479.html 接著上一篇,這里繼續搜索,對于搜索和創建一樣,首先你要確定搜索位置,然后用規定的類來讀取。還要注意一點,確定分詞器,因為不同的分詞器所創建…

Topcoder SRM 648 (div.2)

第一次做TC全部通過&#xff0c;截圖紀念一下。 終于藍了一次&#xff0c;也是TC上第一次變成藍名&#xff0c;下次就要做Div.1了&#xff0c;希望div1不要掛零。。。_(:зゝ∠)_ A. KitayutaMart2 萬年不變的水題。 #include<cstdio> #include<cstring> #include&…

Kadane's algorithm學習

Kadane’s algorithm 簡單來說就是用來計算數組中的連續子數組之和最大是多少 vector<int> vec; int temp 0,ans 0; for(int i0;i<vec.size();i){temp max(tempvec[i],vec[i]);ans max(temp,ans); } return ans;循環的第一行就是用來比較當前位置的值和前面數組…

好用的ajax后臺框架

dwz 簡單實用的國產jquery Ui框架 http://www.j-ui.com/#_blank轉載于:https://www.cnblogs.com/userbibi/p/3441382.html

OpenFire源碼學習之十九:在openfire中使用redis插件(上)

Redis插件 介紹 Redis是目前比較流行的NO-SQL&#xff0c;基于K,V的數據庫系統。關于它的相關操作信息&#xff0c;本人這里就不做重復了&#xff0c;相關資料可以看這個網站http://www.redis.io/(官網)、http://www.redis.cn/(中文站)。 這里本人想說的是&#xff0c;拿Redis做…

c++ queue學習

參考資料&#xff1a; cppreference.com 本文代碼&#xff1a; 本文源碼 目錄成員函數1.operator &#xff08;賦值給容器&#xff09;元素訪問2.front &#xff08;訪問第一個元素&#xff09;3.back &#xff08;訪問最后一個元素&#xff09;容量4.empty &#xff08;判斷容…

沒有文件擴展“.js”的腳本引擎問題解決

安裝MinGW的時候提示沒有文件擴展“.js”的腳本引擎。原因&#xff1a;系統安裝Dreamwear、UltraEdit、EditPlus后修改了.js文件的默認打開方式。當想直接執行js腳本時就會出現此錯誤。解決辦法&#xff1a;打開注冊表編輯器&#xff0c;定位[HKEY_CLASSES_ROOT.js]這一項&…

160 - 54 eKH

環境&#xff1a;windows xp 工具&#xff1a; 1、OllyDBG 2、IDA 3、exeinfo 查殼發現是程序無殼且用Delphi語言編寫 可以通過搜索字符串的方式定位關鍵函數地址 這里定位到是 00427B44ReadInput(a2, &v17); // 讀取輸入的usernameif ( StrL…

點賺接口(第二版)

1.查看是否有新消息 url&#xff1a;/get/message/status?user_id{user_id} method&#xff1a;get response&#xff1a; {"code": "ok","msg": "","data": 0 //新消息數目 } 2.獲取消息列表 url&#xff1a;/get/messa…

Java基礎之線程——使用Runnable接口(JumbleNames)

控制臺程序。 除了定義Thread新的子類外&#xff0c;還可以在類中實現Runnable接口。您會發現這比從Thread類派生子類更方便&#xff0c;因為在實現Runnable接口時可以從不是Thread的類派生子類&#xff0c;并且仍然表示線程。Java只允許有單個基類&#xff0c;如果類派生于Thr…

cpri帶寬不足的解決方法_白皮書:FPGA賦能下一代通信和網絡解決方案(第四部分)...

對PCIe Gen 5的支持除了以太網和存儲控制器&#xff0c;Speedster7t FPGA上提供的對PCIe Gen 5的支持還能夠與主機處理器緊密集成&#xff0c;以支持諸如sidecar智能網卡(SmartNIC)設計等高性能加速器應用。PCI Gen 5控制器使其能夠讀取和寫入存儲在FPGA內存層級結構中的數據&a…

laravel里面使用event

模式&#xff1a;大概是通過一個自定義的event&#xff0c;一個handler&#xff0c;還有一個binder&#xff0c;然后用來簡化通知模型 生成自定義的event ./artisan make:event MyEvent 生成自定義的handler ./artisan handler:event MyEventHandler --eventMyEvent 然后在Even…

C語言的條件編譯#if, #elif, #else, #endif、#ifdef, #ifndef

有些程序在調試、兼容性、平臺移植等情況下可能想要通過簡單地設置一些參數就生成一個不同的軟件&#xff0c;這當然可以通過變量設置&#xff0c;把所有可能用到的代碼都寫進去&#xff0c;在初始化時配置&#xff0c;但在不同的情況下可能只用到一部分代碼&#xff0c;就沒必…

山體等高線怎么看_每日一題 | 此處向斜山,你看出來了嗎?

每日一題 | 此處向斜山&#xff0c;你看出來了嗎&#xff1f;(2018江蘇高考)如圖為某區域地質簡圖。該區沉積地層有Q、P、C、D、S2、S1&#xff0c;其年代依次變老。讀圖回答1&#xff5e;2題。1&#xff0e;從甲地到乙地的地形地質剖面示意圖是(  )2&#xff0e;為揭示深部地…

cmake The source directory xxxx does not appear to contain CMakeLists.txt

執行 cmake . 的時候報錯&#xff1a; The source directory “xxxx” does not appear to contain CMakeLists.txt 簡單來說就是當前文件夾里面沒有 CMakeLists.txt