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

歡迎訪問 生活随笔!

生活随笔

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

数据库

Redis简介及安装

發(fā)布時間:2024/4/11 数据库 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis简介及安装 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Redis簡介及安裝

文章目錄

  • Redis簡介及安裝
    • 一、nosql介紹
      • 1.NoSQL
      • 2.NoSQL和SQL數據庫的比較:
    • 二、Redis
      • 1.簡介
      • 2.Redis特性
      • 3.Redis 優(yōu)勢
      • 4.redis應用場景
      • 5.推薦閱讀
    • 三、redis安裝
      • 1.在線安裝
      • 2.下載安裝包:
    • 四、配置
      • 1.配置
      • 2.查看
      • 3.綁定ip
      • 4.端?,默認為6379
      • 5.是否以守護進程運?
      • 6.數據?件
      • 7.數據?件存儲路徑
      • 8.?志?件
      • 9.主從復制
    • 五、服務端客戶端操作命令
      • 1.服務器端
      • 2.客戶端

一、nosql介紹

1.NoSQL

  • NoSQL:一類新出現的數據庫(not only sql) 它的特點:
  • 不支持SQL語法
  • 存儲結構跟傳統(tǒng)關系型數據庫中的那種關系表完全不同,nosql中存儲的數據都是KV形式
  • NoSQL的世界中沒有一種通用的語言,每種nosql數據庫都有自己的api和語法,以及擅長的業(yè)務場景
  • NoSQL中的產品種類相當多:
  • Mongodb
  • Redis
  • Hbase hadoop
  • Cassandra hadoop

2.NoSQL和SQL數據庫的比較:

  • 適用場景不同:sql數據庫適合用于關系特別復雜的數據查詢場景,nosql反之
  • “事務”特性的支持:sql對事務的支持非常完善,而nosql基本不支持事務
  • 兩者在不斷地取長補短,呈現融合趨勢
  • SQL數據庫被稱為關系型數據庫(RDBMS),而NoSQL數據庫被稱為非關系型數據庫或分布式數據庫。
  • SQL數據庫是基于表的數據庫,而NoSQL數據庫則有基于文檔的,鍵值對的,圖形的或基于列式存儲的數據庫
  • SQL數據庫的數據結構必須事先先定義好,而NoSQL數據庫的數據是動態(tài)無結構的。
  • SQL數據庫的負載能力是以增加硬件配置的垂直擴展方式來增加的,而NoSQL數據庫的負載能力可以通過增加數據庫服務器的數量來增加(屬于水平擴展)
  • SQL數據庫是使用SQL(結構化查詢語言)對數據進行定義和操作的,功能強大,語法統(tǒng)一。而NoSQL數據庫是使用UnQL(無結構查詢語言),其操作的對象主要是存儲在集合中的文檔,但UnQL語法不統(tǒng)一,不同的NoSQL數據庫語法各有不同。
  • 常見的SQL數據庫有:MySql,Oracle,Postgres,Sqlite,MS-SQL等。NoSQL常見的有:MongoDB,BigTable,Redis,Hbase,Neo4j等。
  • 對于復雜的查詢:SQL非常的擅長,而NoSQL則不擅長。因為NoSQL并沒有執(zhí)行復雜查詢的標準接口。相對于SQL的強大查詢能力,NoSQL的查詢能力就顯得有點捉襟見肘。
  • 對于所能存儲的數據類型:SQL數據庫并不太適合分層次的數據存儲。 但是,NoSQL數據庫則可以很好的存儲分層次的數據,因為它是以鍵值對的形式存儲數據的,類似與JSON數據。NoSQL數據庫更傾向用于大數據。例如Hbase就是一個很好的例子。
  • 對于基于大量事務的應用程序:SQL數據庫非常適合,因為它更加穩(wěn)定并且可以保證數據的原子性和一致性。而NoSQL對事務的處理能力有限。
  • 在文檔支持方面:所有SQL數據庫的廠家對其數據庫產品都有很好的支持,并且有許多專家可以幫你部署大型的SQL數據庫擴展。而NoSQL現在僅有社區(qū)的支持,而可以幫助你部署大型NoSQL數據庫擴展的專家也很有限。
  • 在屬性方面:SQL數據庫遵循ACID(即,原子性,一致性,隔離性,持久性)屬性,而NoSQL數據庫遵循的是CAP定理(即,一致性,可用性,分區(qū)容忍性)。
  • 對于數據庫的分類:對于SQL數據庫,基于商業(yè)渠道SQL數據庫可分為開源或閉源產品。對于NoSQL數據庫,基于存儲數據的基本方式可分為圖形數據庫,鍵——值數據庫,文檔數據庫,列式數據庫,XML數據庫。

二、Redis

1.簡介

  • Redis是一個開源的使用ANSIC語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API。
  • 從2010年3月15日起,Redis的開發(fā)工作由VMware主持。從2013年5月開始,Redis的開發(fā)由Pivotal贊助。
  • Redis是 NoSQL技術陣營中的一員,它通過多種鍵值數據類型來適應不同場景下的存儲需求,借助一些高層級的接口使用其可以勝任,如緩存、隊列系統(tǒng)的不同角色

2.Redis特性

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

  • Redis支持數據的持久化,可以將內存中的數據保存在磁盤中,重啟的時候可以再次加載進行使用。
  • 它也通常被稱為數據結構服務器,因為值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等類型。
  • Redis支持數據的備份,即master-slave模式的數據備份。
  • 與傳統(tǒng)數據庫不同的是 Redis 的數據是存在內存中的,所以存寫速度非常快,因此 Redis 被廣泛應用于緩存方向。
  • Redis為分布式緩存,在多實例的情況下,各實例共用一份緩存數據,緩存具有一致性。

3.Redis 優(yōu)勢

  • 性能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。
  • 豐富的數據類型 – Redis支持二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數據類型操作。
  • 原子 – Redis的所有操作都是原子性的,同時Redis還支持對幾個操作全并后的原子性執(zhí)行。
  • 豐富的特性 – Redis還支持 publish/subscribe, 通知, key 過期等等特性。
  • 支持數據的持久化,可以將內存中的數據保存在磁盤中,重啟的時候可以再次加載進行使用。
  • 支持數據的備份,即master-slave模式的數據備份。

4.redis應用場景

  • 用來做緩存(ehcache/memcached)——redis的所有數據是放在內存中的(內存數據庫)
  • 查詢出的數據保存到Redis中,下次查詢的時候直接從Redis中拿到數據。不用和數據庫進行交互。

  • 可以在某些特定應用場景下替代傳統(tǒng)數據庫——比如社交類的應用
  • 在一些大型系統(tǒng)中,巧妙地實現一些特定的功能:session共享、購物車

什么數據會存到redis數據庫中?
主要是熱點數據,不會經常改變的,一般是常量
比如登錄驗證的cookie,購物車,歷史瀏覽記錄都(只要具有一定時間的生命周期)
比如首頁的商品信息,一般不會變。
比如秒殺的商品信息,一般也不會變。
比如地圖的經緯度信息,一般也不會變。

  • 用戶的關注列表,粉絲列表,消息列表等功能都可以用 Redis 的 List 結構來實現
  • Redis 可以非常方便的實現如共同關注、共同粉絲、共同喜好等功能(Set 類似與列表,但可自動排重的)
  • Redis不但提供了無需集合(Sets),還很體貼的提供了有序集合(Sorted Sets),因此,各種排行榜數據基本上都會使用Redis提供的Sorted Sets來實現

5.推薦閱讀

redis官方網站
redis中文官方網站
命令參考

三、redis安裝

1.在線安裝

  • 直接輸入命令 sudo apt-get install redis-server
    安裝完成后,Redis服務器會自動啟動。
    使用ps -aux|grep redis命令可以看到服務器系統(tǒng)進程默認端口6379
redis 2890 0.2 0.1 41872 6064 ? Ssl 14:17 0:07 /usr/bin/redis-server 127.0.0.1:6379 hzlarm 3222 0.0 0.0 11324 780 pts/2 S+ 15:02 0:00 grep --color=auto redis
  • 使用netstat -nlt|grep 6379命令可以看到redis服務器狀態(tài)
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN
  • 使用sudo /etc/init.d/redis-server status命令可以看到Redis服務器狀態(tài)

2.下載安裝包:

  • 下載:打開redis官方網站,推薦下載穩(wěn)定版本(stable)
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
  • 解壓tar xzf redis-5.0.5.tar.gz
  • 復制:推薦放到usr/local目錄下sudo mv redis-5.0.5 /usr/local/redis
  • 進入redis目錄 cd /usr/local/redis/
  • 生成:sudo make失敗則 使用 sudo make MALLOC=libc后再sudo make
  • 測試 sudo make test 這段運行時間會較長
  • 安裝:將redis的命令安裝到/usr/bin/目錄sudo make install
  • 運行 redis-server
  • 按ctrl+c停止
  • 查看
cd /usr/local/bin ls -all

redis-server redis服務器
redis-cli redis命令行客戶端
redis-benchmark redis性能測試工具
redis-check-aof AOF文件修復工具
redis-check-rdb RDB文件檢索工具

四、配置

1.配置

Redis的配置信息在/etc/redis/redis.conf下。

2.查看

sudo vi /etc/redis/redis.conf

3.綁定ip

綁定ip:如果需要遠程訪問,可將此?注釋,或綁定?個真實ip bind 127.0.0.1

4.端?,默認為6379

port 6379

5.是否以守護進程運?

如果以守護進程運?,則不會在命令?阻塞,類似于服務 如果以?守護進程運?,則當前終端被阻塞 設置為yes表示守護進程,設置為no表示?守護進程 推薦設置為yes daemonize yes

6.數據?件

dbfilename dump.rdb

7.數據?件存儲路徑

dir /var/lib/redis

8.?志?件

logfile /var/log/redis/redis-server.log

數據庫,默認有16個 database 16

9.主從復制

# 類似于雙機備份。 slaveof

參考資料
redis配置信息

五、服務端客戶端操作命令

1.服務器端

  • 服務器端的命令為redis-server
  • 可以使?help查看幫助?檔

推薦使?服務的?式管理redis服務

redis-server --help
  • 啟動
sudo service redis start
  • 停?
sudo service redis stop
  • 重啟
sudo service redis restart

個人習慣

  • ps -ef|grep redis 查看redis服務器進程
  • sudo kill -9 pid 殺死redis服務器
  • sudo redis-server /etc/redis/redis.conf 指定加載的配置文件

2.客戶端

  • 客戶端的命令為redis-cli
可以使?help查看幫助?檔 redis-cli --help
  • 連接redis
redis-cli

  • 運?測試命令
ping

  • 切換數據庫

數據庫沒有名稱,默認有16個,通過0-15來標識,連接redis默認選擇第一個數據庫

select n

總結

以上是生活随笔為你收集整理的Redis简介及安装的全部內容,希望文章能夠幫你解決所遇到的問題。

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