目錄
一、noSQL
類型
特點及應用場景
二、Redis
三、安裝方式
編譯安裝
rpm安裝
四、目錄結構
/etc/redis.conf
五、Redis命令
六、本地登錄和遠程登錄
本地登錄
?遠程登錄
七、數據庫操作
?幫助信息
庫操作
數據操作
?八、Redis持久化
一、RDB類型
?二、AOF模式
一、noSQL
????????NoSQL是一種非關系型數據庫管理系統,它不使用傳統的關系型數據庫模型,而是以其他數據結構來存儲和管理數據。NoSQL代表“不僅僅是SQL”或“非SQL”,它主要設計用于大規模數據集的分散存儲。與傳統的關系型數據庫相比,NoSQL數據庫具有更高的可伸縮性和性能,并且可以處理半結構化和非結構化數據。NoSQL數據庫可以是鍵值存儲、文檔存儲、列存儲或圖形數據庫等。它廣泛應用于Web應用程序、大數據和實時分析等領域。
????????主用用于 存儲和管理數據
類型
????????文檔型數據庫(Document-oriented database)? ? ??? 如MongoDB;
? ? ? ? 列族數據庫(Column-family database)? ? ? ? ? ? ? ? ? ?如HBase、Cassandra等;
????????圖形數據庫(Graph database)? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ?如Neo4j、ArangoDB等;
????????鍵值對數據庫(Key-value database)? ? ? ? ? ? ? ?? ?? ? 如Redis、Memcached等;
????????對象數據庫(Object-oriented database)? ? ? ? ? ???????如db4o等。
特點及應用場景
????????緩存:????????Redis最常用的應用場景就是緩存,它可以緩存各種類型的數據,如數據庫查詢結果、API返回結果等,以提高應用程序的響應速度和并發性能。
????????分布式鎖:????????Redis的分布式鎖可以確保在分布式系統中對某個資源的互斥訪問,避免多個節點出現并發操作的問題。
????????計數器:????????Redis支持對計數器的操作,能夠方便地實現各種計數器的功能,如網站訪問次數計數、訂單數量計數等。
????????會話管理:????????Redis可以用來管理會話信息,實現會話的狀態存儲和共享,避免了單點故障的問題。
????????消息隊列:????????Redis支持發布訂閱模式,可以作為一個輕量級的消息隊列使用,實現異步消息處理和任務派發等功能。
二、Redis
????????Remote Dictionary Server? ? ? ? ? ? ? ? ? ? ? ? 遠程字典服務
? ? ? ? 官網?????????????????????????????????Redis中文網? https://www.redis.net.cn/
? ? ? ? 主要作用? ? ? ? ? ? ? ? ? ? ? ? 內存存儲、持久化
????????存儲方式? ? ? ? ? ? ? ? ? ? ? ? 鍵值對存儲
? ? ? ? 監聽端口? ? ? ? ? ? ? ? ? ? ? ? 6379/tcp
? ? ? ? 數據類型????????????????????????字符串(string)
????????????????????????????????????????????????哈希值(hash)
????????????????????????????????????????????????列表(list)
????????????????????????????????????????????????集合(set)
????????????????????????????????????????????????位圖(bitmap)
三、安裝方式
編譯安裝
????????wget http://download.redis.io/releases/redis-5.0.8.tar.gz
????????make && make install
rpm安裝
????????yum install -y epel-release
????????yum install -y redis
????????啟動? ? systemctl start redis
????????默認監聽127.0.0.1地址
四、目錄結構
/etc/redis.conf
bind? 127.0.0.1 | 監聽地址(默認只允許本地) |
port? ?6379 | 監聽端口號? ?(默認6379) |
pidfile | 指定通過該配置文件啟動reids進程后的PID文件名稱 |
loglevel | 定義日志級別 |
logfile | 定義日志存儲路徑 |
databases | 指定默認數據庫數量 |
save | 定義單位時間內key改變次數 |
dbfilename | 定義存儲RDB持久化數據的文件名稱 |
dir | 定義RDB和AOF文件存儲目錄 |
appendonly | AOF的啟停 |
appendfilename | 定義AOF持久化文件的名稱 |
appendfsync | 定義AOF數據同步間隔 |
requirepass | 設置登錄Redis的密碼 |
/var/lib/redis? ? ? ? ? ? ? ? 持久化文件存儲目錄
/var/log/redis? ? ? ? ? ? ? ? 日志文件存儲目錄
/var/run/redis? ? ? ? ? ? ? ? pid文件存儲目錄
五、Redis命令
? ? ? ? redis-server? ? ? ? ? ? ? ? ? Redis啟動命令
? ? ? ? redis-ctl? ? ? ? ? ? ? ? ? ? ? ? ?Redis登錄命令
? ? ? ? ? ? ? ? ?選項? ? ? ? -h? ?redis服務器ip? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -p? ? redis的端口
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -a? ? ?指定登錄密碼
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -n? ? ?指定數據庫編號
????????redis-check-rdb? ? ? ? ? ? ? ? 檢查RDB文件
????????redis-check-aof? ? ? ? ? ? ? ? 檢查AOF文件
六、本地登錄和遠程登錄
本地登錄
?遠程登錄
? ? ? ? 修改配置文件,使redis可以進行遠程登錄,并且添加登錄密碼
? ? ? ? ?客戶端進行環境配置安裝redis 進行遠程登錄
如果不進行密碼登錄查看數據室會提示進行驗證
七、數據庫操作
?幫助信息
? ? ? ? help? ? ? ? ? ? 可使用tab補齊
庫操作
? ? ? ? select? ?編號? ? ? ? ? ? ? ? ? ? ?切換數據庫
數據操作
set | 設置鍵值對 | set key value |
keys | keys? 查看一個是否存在 | keys * 查看所有鍵 |
get | 取出鍵對值 | 鍵不存在則返回空 |
del | 刪除鍵對值 | del key |
fiushall | 清空所有數據庫中的數據 | |
rename | 重命名鍵名稱,不論更名后的鍵是否存在都會覆蓋原有鍵,并將改名前的鍵的值賦予改名后的鍵 | rename oldkey newkey |
renamenx | 重命名鍵名稱,假如改名后鍵名稱存在則更改不成功 | renamenx oldkey newkey |
move???????? | 移動鍵值對到指定數據庫,假如目標數據庫中存在同名鍵則移動失敗 | move key dbnumber |
ttl | 查看鍵值對的生命周期 | -1? ? ? ? ? ? ? ? ? ? ? 永久 -2? ? ? ? ? ? ? ? ? ?? ?過期 |
expire | 設置鍵值對的存儲周期(默認秒) | expire key seconds |
?八、Redis持久化
一、RDB類型
? ? ? ? 默認持久化
?????????Redis進程退出時? 宕機? Redis程序崩潰
? ? ? ? 手動保存? (出發RDB)? save
?二、AOF模式
????????默認關閉
? ? ? ? 開啟時會生成文件? ? ? ? appendonly.aof(開啟Redis是默認讀取)
? ? ? ? 開啟? ? ? ???????????????????????appendonly ?yes(可以與RDB同時使用)