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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

redis启动后 允许访问_最全Redis基本知识

發(fā)布時(shí)間:2025/3/20 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 redis启动后 允许访问_最全Redis基本知识 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

NoSQL概述

什么是NoSQL

NoSQL不僅僅是SQL,它是Not Only SQL 的縮寫,也是眾多非關(guān)系型數(shù)據(jù)庫(kù)的統(tǒng)稱NoSQL和關(guān)系型數(shù)據(jù)庫(kù)一樣,也是用來(lái)存儲(chǔ)數(shù)據(jù)的倉(cāng)庫(kù)。

為什么需要NoSQL?

隨著互聯(lián)網(wǎng)的高速發(fā)展,數(shù)據(jù)量、訪問(wèn)量呈爆發(fā)式式增長(zhǎng)。比如12306中國(guó)鐵路票務(wù)系統(tǒng)。
一年售出車票有30多億張;
網(wǎng)上售票比例超過(guò)了80%;
互聯(lián)網(wǎng)高峰日售出車票達(dá)到了1282多萬(wàn)張;
高峰時(shí)每秒售票超出1000張;
網(wǎng)站高峰日訪問(wèn)量超過(guò)了1600億次……
12306售票系統(tǒng)
已成為全球最大的票務(wù)交易系統(tǒng)
中國(guó)人民徹夜排隊(duì)買票已成為歷史

這么多的數(shù)據(jù)都是需要存儲(chǔ)的,然而傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)面對(duì)這些海量數(shù)據(jù)的存儲(chǔ),以及實(shí)現(xiàn)高訪問(wèn)量、高并發(fā)讀/寫,就會(huì)顯的力不從心,尤其是當(dāng)面對(duì)超大規(guī)模、高并發(fā)、高吞吐量的大型動(dòng)態(tài)網(wǎng)站的時(shí)候,就會(huì)暴露出很多難以克服的問(wèn)題,影響用戶體驗(yàn)。為了滿足對(duì)海量數(shù)據(jù)的高速存儲(chǔ)需求,實(shí)現(xiàn)高并發(fā)、高吞吐量,NoSQL應(yīng)運(yùn)而生。NoSQL的出現(xiàn)可以解決傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)所不能解決的問(wèn)題。

NoSQL特點(diǎn)

  • 容易擴(kuò)展,方便使用,數(shù)據(jù)之間沒(méi)有關(guān)系。
  • 數(shù)據(jù)模型非常靈活,無(wú)需提前為要存儲(chǔ)的數(shù)據(jù)建立字段類型,隨時(shí)可以存儲(chǔ)自定義的數(shù)據(jù)格式。
  • 適合大數(shù)據(jù)量、高性能的存儲(chǔ)。
  • 具有高并發(fā)讀/寫、高可用性。
  • Redis概述

    Redis由來(lái)

    2008年,意大利的一家創(chuàng)業(yè)公司Merzia推出了一款基于MySQL的網(wǎng)站實(shí)時(shí)統(tǒng)計(jì)系統(tǒng)LLOOGG,沒(méi)多久該公司的創(chuàng)始人Sanfilippo對(duì)MySQL的性能感到失望,于是他決定親自為L(zhǎng)LOOGG量身定做一個(gè)數(shù)據(jù)庫(kù),并于2009年開(kāi)發(fā)完成,這個(gè)數(shù)據(jù)庫(kù)就是Redis。

    什么是Redis

    Redis(全稱:Remote Dictionary Server 遠(yuǎn)程字典服務(wù))是一個(gè)開(kāi)源的、使用C語(yǔ)言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的Key-Value數(shù)據(jù)庫(kù),并提供多種語(yǔ)言的API。Redis能讀的速度是110000次/s,寫的速度是81000次/s 。

    Redis為什么快

  • 完全基于內(nèi)存,絕大部分請(qǐng)求是純粹的內(nèi)存操作,非??焖?。
  • 數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單,對(duì)數(shù)據(jù)操作也簡(jiǎn)單,Redis中的數(shù)據(jù)結(jié)構(gòu)是專門進(jìn)行設(shè)計(jì)的;
  • 采用單線程,避免了不必要的上下文切換和競(jìng)爭(zhēng)條件,也不存在多進(jìn)程或者多線程導(dǎo)致的切換而消耗 CPU,不用去考慮各種鎖的問(wèn)題,不存在加鎖釋放鎖操作,沒(méi)有因?yàn)榭赡艹霈F(xiàn)死鎖而導(dǎo)致的性能消耗;
  • 使用多路I/O復(fù)用模型,非阻塞IO;
  • Redis的安裝和使用

    Windows下安裝

    下載地址:https://github.com/MSOpenTech/redis/releases。
    Redis 支持 32 位和 64 位。這個(gè)需要根據(jù)你系統(tǒng)平臺(tái)的實(shí)際情況選擇,這里我們下載 Redis-x64-xxx.zip解壓后,將文件夾重新命名為 redis。

    打開(kāi)文件夾,內(nèi)容如下:

    雙擊redis-server.exe,啟動(dòng)服務(wù)端,輸入之后,會(huì)顯示如下界面:

    這時(shí)候啟動(dòng)一個(gè) cmd 窗口,原來(lái)的不要關(guān)閉,不然就無(wú)法訪問(wèn)服務(wù)端了。

    切換到 redis 目錄下運(yùn)行:

    redis-cli.exe -h 127.0.0.1 -p 6379

    Linux 下安裝

    下載地址:http://redis.io/download,下載最新穩(wěn)定版本。
    本教程使用的最新文檔版本為 2.8.17,下載并安裝:

    $ wget http://download.redis.io/releases/redis-2.8.17.tar.gz $ tar xzf redis-2.8.17.tar.gz $ cd redis-2.8.17 $ make

    make完后 redis-2.8.17目錄下會(huì)出現(xiàn)編譯后的redis服務(wù)程序redis-server,還有用于測(cè)試的客戶端程序redis-cli,兩個(gè)程序位于安裝目錄 src 目錄下:
    下面啟動(dòng)redis服務(wù).

    $ cd src $ ./redis-server

    注意這種方式啟動(dòng)redis 使用的是默認(rèn)配置。也可以通過(guò)啟動(dòng)參數(shù)告訴redis使用指定配置文件使用下面命令啟動(dòng)。

    $ cd src $ ./redis-server ../redis.conf

    redis.conf 是一個(gè)默認(rèn)的配置文件。我們可以根據(jù)需要使用自己的配置文件。
    啟動(dòng)redis服務(wù)進(jìn)程后,就可以使用測(cè)試客戶端程序redis-cli和redis服務(wù)交互了。 比如:

    $ cd src $ ./redis-cli redis> set foo bar OK redis> get foo "bar"

    Ubuntu 下安裝

    在 Ubuntu 系統(tǒng)安裝 Redis 可以使用以下命令:

    $sudo apt-get update $sudo apt-get install redis-server

    啟動(dòng) Redis

    $ redis-server

    查看 redis 是否啟動(dòng)?

    $ redis-cli

    以上命令將打開(kāi)以下終端:

    redis 127.0.0.1:6379>

    127.0.0.1 是本機(jī) IP ,6379 是 redis 服務(wù)端口?,F(xiàn)在我們輸入 PING 命令。

    redis 127.0.0.1:6379> ping PONG

    以上說(shuō)明我們已經(jīng)成功安裝了redis。

    Redis的數(shù)據(jù)結(jié)構(gòu)

    Redis 字符串(String)

    概述

    字符串類型是Redis中最為基礎(chǔ)的數(shù)據(jù)存儲(chǔ)類型。在Redis中字符串類型的Value最多可以容納的數(shù)據(jù)長(zhǎng)度是512M。

    常用命令

    • 賦值

    • 取值

    • 刪除

    del key:刪除指定的key

    • 數(shù)值增減

    Redis 哈希(Hash)

    概述

    Hash類型可以看出具有String key 和String value 的map容器。所以該類型非常適合于存儲(chǔ)值為對(duì)象的信息。如username、password和age等。每一個(gè)hash可以存儲(chǔ)4294967295個(gè)鍵值對(duì)

    常用命令

    • 賦值

    • 取值

    • 刪除

    • 其他

    Redis 列表(List)

    概述

    List類型是按照插入順序排序的雙向鏈表。從元素插入和刪除的效率視角來(lái)看,如果我們?cè)阪湵淼膬深^插入或刪除元素,這將會(huì)是非常高效的操作,即使鏈表中已經(jīng)存儲(chǔ)了大量的數(shù)據(jù),該操作也可以在常量時(shí)間內(nèi)完成。

    常用命令

    • 兩端添加

    • 查看列表

    • 兩端彈出

    • 獲取列表中元素的個(gè)數(shù)

    Redis 集合(Set)

    概述

    Set類型為沒(méi)有排序的字符集合。Set集合中不允許出現(xiàn)重復(fù)的元素。Set類型在功能上還存在一個(gè)非常重要的特性,即集合的聚合操作效率極高。

    常用命令

    • 添加/刪除元素

    • 獲得集合中的元素

    • 集合的差集運(yùn)算 A-B

    • 集合的交集運(yùn)算 A∩B

    • 集合中的并集運(yùn)算 A∪B

    Redis 有序集合(sorted set)

    概述

    有序集合和Set類型即為相似,都不允許重復(fù)的成員出現(xiàn)在一個(gè)Set中。它們之間的主要差別是有序集合中的每一個(gè)成員都會(huì)有一個(gè)score與之關(guān)聯(lián),通過(guò)score來(lái)為集合中的成員進(jìn)行從小到大的排序。

    常用命令

    • 添加元素

    • 獲得元素

    • 刪除元素

    • 范圍查詢

    Redis特性

    多數(shù)據(jù)庫(kù)

    一個(gè)Redis實(shí)例最多可提供16個(gè)數(shù)據(jù)庫(kù),下標(biāo)從0到15,客戶端默認(rèn)連接第0號(hào)。

    消息訂閱與發(fā)布

  • subscribe channel:訂閱頻道。例如subscribe mychat,訂閱mychat這個(gè)頻道
  • psubscribe channel:批量訂閱頻道。例如psubscribe s,訂閱以s開(kāi)頭的頻道。
  • publish channel content:在指定的頻道中發(fā)布消息,如punlish mychat ‘today is a newday’
  • Redis事務(wù)

    Redis作為NoSQL數(shù)據(jù)庫(kù)也提供了事務(wù)機(jī)制。
    特點(diǎn):

  • 在事務(wù)中的所有命令都將會(huì)被串行化的順序執(zhí)行,事務(wù)執(zhí)行期間,Redis不會(huì)再為其他客戶端請(qǐng)求提供任何服務(wù),從而保證了事務(wù)中的所有命令被原子的執(zhí)行。
  • 和關(guān)系型數(shù)據(jù)庫(kù)中的事務(wù)相比,在Redis事務(wù)中如果有某一條命令執(zhí)行失敗,其后的命令仍然被繼續(xù)執(zhí)行。
  • Redis持久化

    Redis的高性能是由于其將所有的數(shù)據(jù)都存儲(chǔ)在了內(nèi)存中,為了使Redis在重啟之后仍能保證不丟失,需要將數(shù)據(jù)從內(nèi)存中同步到硬盤中,這一過(guò)程就是持久化。
    Redis支持兩種方式的持久化,一種是RDB方式,一種是AOF方式??梢詥为?dú)使用,也可以結(jié)合使用。

  • RDB持久化(默認(rèn))
    在指定的時(shí)間間隔內(nèi)將內(nèi)存中的數(shù)據(jù)集快照寫入磁盤。
  • AOF持久化
    以日志的形式記錄服務(wù)器所處理的每一個(gè)寫操作,在Redis服務(wù)器啟動(dòng)之初會(huì)讀取該文件來(lái)重新構(gòu)建數(shù)據(jù)庫(kù),以保證啟動(dòng)后數(shù)據(jù)庫(kù)中的數(shù)據(jù)是完整的。
  • Key值過(guò)期

    Redis的應(yīng)用場(chǎng)景

  • 緩存(最多使用)
  • 聊天室的在線好友列表 發(fā)布/訂閱
  • 任務(wù)隊(duì)列(秒殺、搶購(gòu)) 消息隊(duì)列、(先進(jìn)先出、后進(jìn)先出) (List)
  • 應(yīng)用排行榜(有序集合)
  • 網(wǎng)站訪問(wèn)統(tǒng)計(jì)(Set)
  • 數(shù)據(jù)過(guò)期處理(可以精確到毫秒)
  • 分布式集群框架中的session分離。
  • 《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

    總結(jié)

    以上是生活随笔為你收集整理的redis启动后 允许访问_最全Redis基本知识的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。