redis安裝與入門
redis
了解Nosql數據庫
NoSql全稱是Not Only Sql(不僅僅是sql)
非關系型數據庫概念:
Nosql是非關系型數據庫的集合
redis、mongoDB、HBase
關系型數據庫概念:
1、 結構化的數據庫
2、 關系型數據庫一般都是面向記錄的
3、 通過主外鍵來建立關系
NoSql的歷史背景以及作用
解決三高1、數據庫高並發讀寫。2、海量數據下的效率。3、高擴展性和可用性
CAP定理【布魯爾定律】:
C:強一致性
A:可用性
P:分區容錯性
網絡分區:在網絡分區的前提下,保證數據的容錯機制
在Web2.0時代,CAP之間是不能共存的,最多實現兩個條件
CA:可用性和強一致性,
AP:可用性和分區容錯性,NoSql
CP:強一致性和分區容錯性,分布式的數據庫
非關系數據庫要滿足BASE定理
1、 基本可用:可用性有要求,但要求不高
2、 軟狀態:
a) 數據不需要實時保持一致
3、 最終一致性:數據還是要一致,但不需要實時一致
NoSql的優缺點
優點:
1、擴展方法
2、讀寫快速高效
3、降低服務器成本(對服務器要求不高)
4、數據類型靈活
缺點:
1、 不支持sql語句
2、 發展時間短
Redis簡介
遠程字典型Remote Dictionary server
由C語言編寫
基於內存運行並支持持久化
儲存形式:Key-Value型
Linux安裝
找到tar包後執行加壓命令
tar -zxvf tar包名
安裝redis之前要安裝gcc:
yum -y install gcc-c++(需要聯網)
解壓完成進入解壓目錄執行make PREFIX=’安裝路徑’ install
拷貝redis配置文件(在解壓目錄的redis.conf):
cp redis.conf 目標路徑
啟動redis:進入redis的bin目錄(/opt/redis/bin)執行 ./redis-server空格 ../redis.conf
當出現
說明啟動成功
後臺啟動方法:修改redis.conf 使用vim命令
將daemonize no修改為daemonize yes
註意:使用命令需要加./
Redis目錄簡介:
redis-server:用來啟動Redis的工具
redis-benchmark:用來檢測redis的運行效率
redis-chech-aof:修復AOF持久化
redis-check-rdb:修復RDB持久化
redis-cli:執行redis命令行模式
redis-sentinel:軟連接à指向了redis-server
關閉redis服務:
進入bin目錄執行./redis-cli shutdown
Redis的數據結構
五種數據類型:
1.字符串(String)2.字符串列表(list)3.有序字符串集合(sorted set)
4.哈希(hash)5.字符串集合(set)
Key定義的註意點:
1不要過長
2.不要過短
3.統一的命名規範
存儲String
1.二進制安全的,存入和獲取的數據相同
2.Value最多可以容納的數據長度是512M
存儲String常用命令
1.賦值 2.刪除 3.擴展命令 4.取值 5.數值增減
賦值 :Set key 內容
取值:get key
先獲取值 在賦值 getset key 內容
取值:get key
刪除:del key
遞增:incr Value加1:incr num 數據庫如果麽有num 則會置0加一 不能轉整型 失敗
遞減:decr num2
指定加數 incrby num3 5
指定減數 decrby num4 3
追加字符串:append
存儲Hash
1.String key和String Value的map容器
2.每一個Hash可以存儲4294967295個鍵值對
存儲Hash常用命令:
1.賦值 2.刪除3.自學命令4.取值 5.增加數字
存值:hset myhash(key) username jack
多個鍵值對:hmset myhash2 username rose age 21
取值:hget myhash username
獲取多個屬性的值:hmget myhash username age
獲取屬性和屬性值:hgetall myhash
刪除一個或多個 hdel myhash3 username age
刪除整個集合 del myhash2
增加數字:hincrby myhash age 5
判斷hash 是否存在 hexists myhash username
獲取屬性的數量:hlen myhash
獲取所有的key hkeys myhash
獲取所有的value hvalues myhash
存儲list:
1.ArrayList使用數組方式
2.LinkedList使用雙向鏈接方式
3.雙向鏈表中增加數據
4.雙向鏈表中刪除數據
存儲list常用命令:
1.兩端添加 2.查看列表3.兩端彈出4.獲取列表元素個數5.擴展命令
兩端(左側)添加:lpush mylist a b c
兩端(右側)添加:rpush mylist2 1 2 3
查看列表:lrange mylist 0 5
彈出元素:lpop mylist
最後元素沒了:rpop mylist2
redis安裝與入門