1. 程式人生 > >redis安裝與入門

redis安裝與入門

修復 追加 多個 ray 關系 數據庫概念 enter 所有 rpo

redis

了解Nosql數據庫

NoSql全稱是Not Only Sql(不僅僅是sql)

非關系型數據庫概念:

Nosql是非關系型數據庫的集合

redis、mongoDBHBase

關系型數據庫概念:

1、 結構化的數據庫

2、 關系型數據庫一般都是面向記錄的

3、 通過主外鍵來建立關系

NoSql的歷史背景以及作用

解決三高1、數據庫高並發讀寫。2、海量數據下的效率。3、高擴展性和可用性

CAP定理【布魯爾定律】:

C:強一致性

A:可用性

P:分區容錯性

網絡分區:在網絡分區的前提下,保證數據的容錯機制

Web2.0時代,CAP之間是不能共存的,最多實現兩個條件

CA:可用性和強一致性,

RDB【關系型數據庫】

AP:可用性和分區容錯性,NoSql

CP:強一致性和分區容錯性,分布式的數據庫

非關系數據庫要滿足BASE定理

1、 基本可用:可用性有要求,但要求不高

2、 軟狀態:

a) 數據不需要實時保持一致

3、 最終一致性:數據還是要一致,但不需要實時一致

NoSql的優缺點

優點:

1、擴展方法

2、讀寫快速高效

3、降低服務器成本(對服務器要求不高)

4、數據類型靈活

缺點:

1、 不支持sql語句

2、 發展時間短

Redis簡介

遠程字典型Remote Dictionary server

C語言編寫

基於內存運行並支持持久化

儲存形式:Key-Value型

Linux安裝

Redis

找到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.字符串(String2.字符串列表(list3.有序字符串集合(sorted set

4.哈希(hash5.字符串集合(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 Value1incr num 數據庫如果麽有num 則會置0加一 不能轉整型 失敗

遞減:decr num2

指定加數 incrby num3 5

指定減數 decrby num4 3

追加字符串:append

存儲Hash

1.String keyString Valuemap容器

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安裝與入門