235_Redis_概述_常規操作

      網友投稿 836 2022-05-29

      235_Redis_概述_常規操作

      1 Redis:Remote Dictionary Server(遠程字典服務器)

      是完全開源免費的,用C語言編寫的,遵守BSD協議,是一個高性能的(Key/Value)分布式內存數據庫,基于內存運行,并支持持久化的NoSQL數據庫,是當前最熱門的NoSQL數據庫之一,也被人們稱為數據結構服務器

      Redis與其他key-value緩存產品有以下三個特點

      Redis支持數據的持久化,可以將內存中的數據保持在磁盤中,重啟的時候可以再次加載進行使用

      Redis不僅僅支持簡單的 key-value 類型的數據,同時還提供list、set、zset、hash等數據結構的存儲

      Redis支持數據的備份,即master-slave模式的數據備份

      Redis-benchmark是官方自帶的Redis性能測試工具,可以有效的測試Redis服務的性能

      # 測試一:100個并發連接,100000個請求,檢測host為localhost 端口為6379的redis服務器性能 redis-benchmark -h localhost -p 6379 -c 100 -n 100000 # 測試出來的所有命令只舉例一個! ====== SET ====== 100000 requests completed in 1.88 seconds # 對集合寫入測試 100 parallel clients # 每次請求有100個并發客戶端 3 bytes payload # 每次寫入3個字節的數據,有效載荷 keep alive: 1 # 保持一個連接,一臺服務器來處理這些請求 17.05% <= 1 milliseconds 97.35% <= 2 milliseconds 99.97% <= 3 milliseconds 100.00% <= 3 milliseconds # 所有請求在 3 毫秒內完成 53248.14 requests per second # 每秒處理 53248.14 次請求

      2、企業緩存產品介紹

      Memcached: 優點:高性能讀寫、單一數據類型、支持客戶端式分布式集群、一致性hash多核結構、多線程讀寫性能高。 缺點:無持久化、節點故障可能出現緩存穿透、分布式需要客戶端實現、跨機房 數據同步困難、架構擴容復雜度高 Redis: 優點:高性能讀寫、多數據類型支持、數據持久化、高可用架構、支持自定義虛擬內存、支持分布式分片集群、單線程讀寫性能極高 缺點:多線程讀寫較Memcached慢 新浪、京東、直播類平臺、網頁游戲 memcache 與redis在讀寫性能的對比 memcached 適合,多用戶訪問,每個用戶少量的rw redis 適合,少用戶訪問,每個用戶大量rw Tair: 優點:高性能讀寫、支持三種存儲引擎(ddb、rdb、ldb)、支持高可用、支 持分布式分片集群、支撐了幾乎所有淘寶業務的緩存。 缺點:單機情況下,讀寫性能較其他兩種產品較慢

      3 Redis使用場景介紹

      Memcached:多核的緩存服務,更加適合于多用戶并發訪問次數較少的應用場景

      Redis:單核的緩存服務,單節點情況下,更加適合于少量用戶,多次訪問的應用場景

      Redis一般是單機多實例架構,配合redis集群出現

      4 ?Redis 單線程

      Redis為什么這么快?

      1)誤區1:高性能服務器 一定是多線程來實現的, 誤區2:多線程 一定比單線程效率高

      2)解釋

      redis的數據全都在內存里,單線程的去操作效率最高的

      多線程的本質就是CPU模擬出來多個線程的情況,模擬代價會導致上下文的切換,單對于一個內存的系統來說,它沒有上下文的切換就是效率最高的

      redis 用單個CPU綁定一塊內存的數據,然后針對這塊內存多次讀寫,都是在一個CPU上完成

      例:

      一次CPU上下文的切換大概在 1500ns 左右。從內存中讀取1MB 的連續數據,耗時大約為 250us, 假設1MB的數據由多個線程讀取了1000次,那么就有1000次時間上下文的切換,那么就有1500ns *1000 = 1500us , 單線程的讀完1MB數據才250us ,上下文的切換就用了1500us了,還不算每次讀一部分數據的時間

      5 Redis部署

      yum install centos-release-scl yum install devtoolset-7-gcc* scl enable devtoolset-7 bash $ wget http://download.redis.io/releases/redis?6.0.6.tar.gz $ tar xzf redis-6.0.6.tar.gz $ cd redis-6.0.6 $ make 啟動: redis-server & 連接測試: redis-cli

      6 常規操作

      6.1 在線查看和修改配置

      CONFIG GET * # 查看所有配置參數 CONFIG GET requirepass CONFIG GET r* CONFIG SET requirepass 123 #在線改配置

      6.2 數據庫切換

      默認16個數據庫,類似數組下標從零開始,初始默認使用零號庫 查看 redis.conf ,里面有默認的配置 databases 16 127.0.0.1:6379> select 7 #切換數據庫 OK 127.0.0.1:6379> dbsize # Dbsize查看當前數據庫的key的數量 (integer) 12 Flushdb:清空當前庫 Flushall:清空全部的庫

      6.3 KEY的通用操作

      KEYS * keys a keys a* 查看已存在所有鍵的名字 **** TYPE 返回鍵所存儲值的類型 **** EXPIRE\ PEXPIRE 以秒\毫秒設定生存時間 EXPIRE a 100 ; SETEX b bob 200 生成時候指定200S 生存時間 TTL\ PTTL 以秒\毫秒為單位返回生存時間 *** PERSIST 取消生存時間設置 *** DEL 刪除一個key EXISTS 檢查是否存在 EXISTS a 判斷a 是否存在 RENAME 變更KEY名 unlink key 根據value選擇非阻塞刪除 ---例子: 127.0.0.1:6379> set name alex 127.0.0.1:6379> EXPIRE name 60 (integer) 1 127.0.0.1:6379> ttl name (integer) 57 127.0.0.1:6379> set a bob ex 60 OK 127.0.0.1:6379> ttl bob (integer) 43 # 剩余多少時間過期 127.0.0.1:6379> PERSIST bob (integer) 1 127.0.0.1:6379> set name alex 127.0.0.1:6379> set name2 sully 127.0.0.1:6379> keys n* 1) "name2" 2) "name" 127.0.0.1:6379> type name string 127.0.0.1:6379> EXISTS name (integer) 1 # 代表 true 127.0.0.1:6379> exists name3 (integer) 0 #代表false 127.0.0.1:6379> TTL name2 (integer) -1 # 永不過期

      Redis 數據庫

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:不僅僅可以用來做爬蟲,Puppeteer 還可以干這個!
      下一篇:docker 命令列表總結(參考官方)
      相關文章
      婷婷久久久亚洲欧洲日产国码AV| 亚洲爆乳精品无码一区二区三区| 久久精品亚洲综合一品| 国产91成人精品亚洲精品| 亚洲一区二区三区高清在线观看 | 亚洲AV无码一区二区三区国产| 亚洲欧美日韩中文无线码| 亚洲狠狠成人综合网| 久久精品国产99国产精品亚洲| 亚洲人成高清在线播放| 亚洲AV一二三区成人影片| 亚洲一区二区三区四区视频| 亚洲Av高清一区二区三区| 亚洲一区二区三区高清视频| 亚洲免费闲人蜜桃| 亚洲一级片在线观看| 33333在线亚洲| 亚洲人成图片网站| 亚洲色欲色欱wwW在线| 亚洲日本VA中文字幕久久道具| 亚洲成a人无码亚洲成av无码| 日本亚洲高清乱码中文在线观看| 丰满亚洲大尺度无码无码专线| 亚洲AV日韩AV一区二区三曲 | 国产亚洲精品xxx| 亚洲AV午夜福利精品一区二区 | 亚洲AV永久无码精品成人| 亚洲天堂中文资源| 亚洲精品美女久久久久| 亚洲另类图片另类电影| 亚洲人成网站18禁止| 久久久久久亚洲精品无码| yy6080亚洲一级理论| 中文字幕亚洲无线码a| 亚洲国产AV无码专区亚洲AV| 久久久久无码精品亚洲日韩| 亚洲视频在线观看网址| 亚洲一区二区三区无码国产| 亚洲精华国产精华精华液好用| 亚洲精品一级无码中文字幕| 亚洲人成人77777网站|