日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis学习之Redis概述与安装以及性能测试

發布時間:2024/5/14 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis学习之Redis概述与安装以及性能测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Redis入門

概述

Redis是什么

Redis(remote dictionary server)遠程字典服務器

是一個開源的使用c語言編寫、支持網絡、可基于內存亦可持久化的日志型、key-value的數據庫。提供多種語言的API,免費和開源,是當下最熱門的Nosql技術之一,也被人們稱為結構化數據庫

Redis能干嘛?

  • 1、內存存儲、持久化、內存中是斷電即失、所以說戳持久化很重要(RDB,AOF)

  • 2、效率高,可以用于高速緩存

  • 3、發布訂閱分析

  • 4、地圖信息分析

  • 5、計時器、計數器(瀏覽量!)

  • 6、。。。。

特性

  • 多樣化數據類型
  • 持久化
  • 集群
  • 事務

學習的路徑

  • 官網: http://redis.io/
  • 中文網:http://www.redis.cn/
  • 下載地址:通過官網下載即可,windows在Github下載(不建議使用windows)

Redis的安裝(Linux)

1、下載安裝包 redis-5.0.8.tar.gz

2、解壓Redis的安裝包!

# tar -xvf redis-5.0.8.tar.gz# 查看解壓后redis的目錄結構 [root@pihao redis-5.0.8]# ls 00-RELEASENOTES COPYING Makefile redis.conf runtest-moduleapi src BUGS deps MANIFESTO runtest runtest-sentinel tests CONTRIBUTING INSTALL README.md runtest-cluster sentinel.conf utils

3、基本的環境安裝

# 安裝c的環境,redis是用c語言編寫的 [root@pihao /]# yum install gcc-c++ # 查看gcc是否安裝成功 [root@pihao /]# gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper Target: x86_64-redhat-linux # 安裝成功后再執行一個make命令 [root@pihao /]# make# 注意: 執行make命令會將所有的redis的環配置好,如果make命令執行失敗,請確認你redsi的版本,我是用的redis-5.0.8,測試過6.x版本的redis執行make命令失敗# 執行make install命令,默認在 /usr/local/bin 目錄下生成 redis的相關執行文件 [root@pihao /]# make install ... [root@pihao redis-5.0.8]# cd /usr/local/bin/ [root@pihao bin]# ls

4、備份配置文件 redis.conf,到 /bin目錄下的config文件里

# 先創建一個config的目錄用于存配置文件 redis.conf [root@pihao bin]# mkdir config [root@pihao bin]# cp /home/redis/redis-5.0.8/redis.conf config/ [root@pihao bin]# cd config/ [root@pihao config]# ls redis.conf #(我們之后就使用這個配置文件,不用原來的配置文件) [root@pihao config]#

5、redis默認不是后臺啟動的,需要修改配置文件!

6、啟動Redis服務

# 啟動redis,通過制定的配置文件啟動服務 [root@pihao bin]# redis-server config/redis.conf 28518:C 04 Jul 2020 18:52:21.474 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 28518:C 04 Jul 2020 18:52:21.474 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=28518, just started 28518:C 04 Jul 2020 18:52:21.474 # Configuration loaded [root@pihao bin]# 啟動成功

7、使用客戶端連接Redis服務

# -p 端口 [root@pihao bin]# redis-cli -p 6379 127.0.0.1:6379> ping PONG 127.0.0.1:6379> set name pihao OK 127.0.0.1:6379> get name "pihao" 127.0.0.1:6379> keys * #查看所有的key 1) "name" 127.0.0.1:6379># ok,測試連接成功

8、查看redis進程是否開啟

# ps -ef 查看進程 [root@pihao bin]# ps -ef|grep redis root 28519 1 0 18:52 ? 00:00:00 redis-server 127.0.0.1:6379 #(有的) root 28530 19754 0 18:58 pts/0 00:00:00 grep --color=auto redis [root@pihao bin]#

9、關閉Redis服務 shutdown

# shutdown 關閉服務 127.0.0.1:6379> shutdown # exit 退出 not connected> exit # 再次查看redis進程是否存在 [root@pihao bin]# ps -ef|grep redis root 28552 19754 0 19:01 pts/0 00:00:00 grep --color=auto redis [root@pihao bin]# 發現之前的redis-server已經關閉了

10、Redis入門安裝結束

測試性能

redis-benchmark是一個壓力測試工具,官方自帶的性能測試工具

參數詳解

簡單測試:

# 測試:100個并發連接,每個并發10萬個請求 [root@pihao bin]# redis-benchmark -h localhost -p 6379 -c 100 -n 100000

解讀set測試

====== SET ======100000 requests completed in 1.62 seconds # 10萬請求100 parallel clients # 100個并發3 bytes payload #每次寫入3個字節keep alive: 1 #只保證一臺服務器來測試這些請求(單機)35.88% <= 1 milliseconds 99.91% <= 2 milliseconds 100.00% <= 2 milliseconds #所有請求在3毫秒內完成 61538.46 requests per second # 每秒處理6萬多個請求

基礎的知識

redis默認有16個數據庫,默認使用0號數據庫,可以使用select 進行數據庫切換

[root@pihao bin]# redis-cli -p 6379 # 切換數據庫 127.0.0.1:6379> select 3 OK # 查看數據庫大小 127.0.0.1:6379[3]> DBSIZE (integer) 0 127.0.0.1:6379[3]> select 0 OK 127.0.0.1:6379> DBSIZE (integer) 5 # 查看所有的key 127.0.0.1:6379> keys * 1) "mylist" 2) "key:__rand_int__" 3) "name" 4) "myset:__rand_int__" 5) "counter:__rand_int__" 127.0.0.1:6379>

清空當前數據庫

# flushdb 清空數據庫 127.0.0.1:6379> flushdb OK 127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379>

清空所有數據庫

# flushall

為什么redis是6379???(了解即可,粉絲效應,名字對應鍵盤的6379)

Redis是單線程的!(注意:redis 6.0以后的版本增加了多線程操作)

要明白Redis是很快的,官方表示,Redis是基于內存操作的,CPU不是Redis的性能瓶頸,Redis的瓶頸是根據機器的內存和網絡帶寬,既然可以使用單線程,那么就使用單線程了!

Redis是C語言寫的,官方提供的數據為 qps 10萬+,這個不必memcache差。

Redis為什么單線程還這么快?

1、誤區1:高性能的服務器一定是多線程的?

2、誤區2:多線程一定比單線程效率高?

CPU > 內存 > 硬盤的速度要有所了解

核心:redis是將所有的數據全部放在內存中的,所以說使用單線程去操作效率是最高的,多線程(CPU上下文會切換:耗時的操作!)

對于內存系統來說,如果沒有上下文切換效率就是最高的!多次讀寫都是在一個CPU的,在內存情況下,這個就是最佳的方案!

總結

以上是生活随笔為你收集整理的Redis学习之Redis概述与安装以及性能测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。