redis启动后 允许访问_最全Redis基本知识
NoSQL概述
什么是NoSQL
NoSQL不僅僅是SQL,它是Not Only SQL 的縮寫,也是眾多非關系型數據庫的統稱NoSQL和關系型數據庫一樣,也是用來存儲數據的倉庫。
為什么需要NoSQL?
隨著互聯網的高速發展,數據量、訪問量呈爆發式式增長。比如12306中國鐵路票務系統。
一年售出車票有30多億張;
網上售票比例超過了80%;
互聯網高峰日售出車票達到了1282多萬張;
高峰時每秒售票超出1000張;
網站高峰日訪問量超過了1600億次……
12306售票系統
已成為全球最大的票務交易系統
中國人民徹夜排隊買票已成為歷史
這么多的數據都是需要存儲的,然而傳統的關系型數據庫面對這些海量數據的存儲,以及實現高訪問量、高并發讀/寫,就會顯的力不從心,尤其是當面對超大規模、高并發、高吞吐量的大型動態網站的時候,就會暴露出很多難以克服的問題,影響用戶體驗。為了滿足對海量數據的高速存儲需求,實現高并發、高吞吐量,NoSQL應運而生。NoSQL的出現可以解決傳統關系型數據庫所不能解決的問題。
NoSQL特點
Redis概述
Redis由來
2008年,意大利的一家創業公司Merzia推出了一款基于MySQL的網站實時統計系統LLOOGG,沒多久該公司的創始人Sanfilippo對MySQL的性能感到失望,于是他決定親自為LLOOGG量身定做一個數據庫,并于2009年開發完成,這個數據庫就是Redis。
什么是Redis
Redis(全稱:Remote Dictionary Server 遠程字典服務)是一個開源的、使用C語言編寫、支持網絡、可基于內存亦可持久化的Key-Value數據庫,并提供多種語言的API。Redis能讀的速度是110000次/s,寫的速度是81000次/s 。
Redis為什么快
Redis的安裝和使用
Windows下安裝
下載地址:https://github.com/MSOpenTech/redis/releases。
Redis 支持 32 位和 64 位。這個需要根據你系統平臺的實際情況選擇,這里我們下載 Redis-x64-xxx.zip解壓后,將文件夾重新命名為 redis。
打開文件夾,內容如下:
雙擊redis-server.exe,啟動服務端,輸入之后,會顯示如下界面:
這時候啟動一個 cmd 窗口,原來的不要關閉,不然就無法訪問服務端了。
切換到 redis 目錄下運行:
redis-cli.exe -h 127.0.0.1 -p 6379Linux 下安裝
下載地址:http://redis.io/download,下載最新穩定版本。
本教程使用的最新文檔版本為 2.8.17,下載并安裝:
make完后 redis-2.8.17目錄下會出現編譯后的redis服務程序redis-server,還有用于測試的客戶端程序redis-cli,兩個程序位于安裝目錄 src 目錄下:
下面啟動redis服務.
注意這種方式啟動redis 使用的是默認配置。也可以通過啟動參數告訴redis使用指定配置文件使用下面命令啟動。
$ cd src $ ./redis-server ../redis.confredis.conf 是一個默認的配置文件。我們可以根據需要使用自己的配置文件。
啟動redis服務進程后,就可以使用測試客戶端程序redis-cli和redis服務交互了。 比如:
Ubuntu 下安裝
在 Ubuntu 系統安裝 Redis 可以使用以下命令:
$sudo apt-get update $sudo apt-get install redis-server啟動 Redis
$ redis-server查看 redis 是否啟動?
$ redis-cli以上命令將打開以下終端:
redis 127.0.0.1:6379>127.0.0.1 是本機 IP ,6379 是 redis 服務端口。現在我們輸入 PING 命令。
redis 127.0.0.1:6379> ping PONG以上說明我們已經成功安裝了redis。
Redis的數據結構
Redis 字符串(String)
概述
字符串類型是Redis中最為基礎的數據存儲類型。在Redis中字符串類型的Value最多可以容納的數據長度是512M。
常用命令
- 賦值
- 取值
- 刪除
del key:刪除指定的key
- 數值增減
Redis 哈希(Hash)
概述
Hash類型可以看出具有String key 和String value 的map容器。所以該類型非常適合于存儲值為對象的信息。如username、password和age等。每一個hash可以存儲4294967295個鍵值對
常用命令
- 賦值
- 取值
- 刪除
- 其他
Redis 列表(List)
概述
List類型是按照插入順序排序的雙向鏈表。從元素插入和刪除的效率視角來看,如果我們在鏈表的兩頭插入或刪除元素,這將會是非常高效的操作,即使鏈表中已經存儲了大量的數據,該操作也可以在常量時間內完成。
常用命令
- 兩端添加
- 查看列表
- 兩端彈出
- 獲取列表中元素的個數
Redis 集合(Set)
概述
Set類型為沒有排序的字符集合。Set集合中不允許出現重復的元素。Set類型在功能上還存在一個非常重要的特性,即集合的聚合操作效率極高。
常用命令
- 添加/刪除元素
- 獲得集合中的元素
- 集合的差集運算 A-B
- 集合的交集運算 A∩B
- 集合中的并集運算 A∪B
Redis 有序集合(sorted set)
概述
有序集合和Set類型即為相似,都不允許重復的成員出現在一個Set中。它們之間的主要差別是有序集合中的每一個成員都會有一個score與之關聯,通過score來為集合中的成員進行從小到大的排序。
常用命令
- 添加元素
- 獲得元素
- 刪除元素
- 范圍查詢
Redis特性
多數據庫
一個Redis實例最多可提供16個數據庫,下標從0到15,客戶端默認連接第0號。
消息訂閱與發布
Redis事務
Redis作為NoSQL數據庫也提供了事務機制。
特點:
Redis持久化
Redis的高性能是由于其將所有的數據都存儲在了內存中,為了使Redis在重啟之后仍能保證不丟失,需要將數據從內存中同步到硬盤中,這一過程就是持久化。
Redis支持兩種方式的持久化,一種是RDB方式,一種是AOF方式。可以單獨使用,也可以結合使用。
在指定的時間間隔內將內存中的數據集快照寫入磁盤。
以日志的形式記錄服務器所處理的每一個寫操作,在Redis服務器啟動之初會讀取該文件來重新構建數據庫,以保證啟動后數據庫中的數據是完整的。
Key值過期
Redis的應用場景
總結
以上是生活随笔為你收集整理的redis启动后 允许访问_最全Redis基本知识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: edittext禁止换行符但能自动换行简
- 下一篇: shell 死循环if判断_Shell的