1. 程式人生 > >redis入門瞭解

redis入門瞭解

1.什麼是NoSQL
NoSQL 意為"不僅僅是SQL",泛指非關係型的資料庫

2.NOSQL資料庫的分類
a.鍵值儲存資料庫
b.列儲存資料庫
c.文件型資料庫
d.圖形資料庫

3.NOSQL特點
a.易擴充套件 b.大資料量,高效能 c.靈活法的資料模型 d.高可用

4.redis在Linux上的安裝
1)安裝redis編譯的c環境,yum install gcc-c++
2)將redis-2.6.16.tar.gz上傳到Linux系統中
3)解壓到/usr/local下 tar -xvf redis-2.6.16.tar.gz -C /usr/local
4)進入redis-2.6.16目錄 使用make命令編譯redis
5)在redis-2.6.16目錄中 使用make PREFIX=/usr/local/redis install命令安裝 redis到/usr/local/redis中
6)拷貝redis-2.6.16中的redis.conf到安裝目錄redis中
7)啟動redis 在bin下執行命令redis-server redis.conf
8)如需遠端連線redis,需配置redis埠6379在linux防火牆中開發
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
/etc/rc.d/init.d/iptables save

5.redis是一種高階的key-value的儲存系統
其中的key是字串型別,儘可能滿足如下幾點:
1)key不要太長,最好不要操作1024個位元組,這不僅會消耗記憶體還會降低查詢 效率
2)key不要太短,如果太短會降低key的可讀性
3)在專案中,key最好有一個統一的命名規範(根據企業的需求)
其中value 支援五種資料型別:
1)字串型 string
2)字串列表 lists
3)字串集合 sets
4)有序字串集合 sorted sets
5)雜湊型別 hashs

key1 string
key2 list
key3 set
key4 sortset
key5 hash

6.String常用命令
1)set key value
2)get key
3)getset key value
4)incr key
5)decr key
6)incrby key increment (+)
7)decrby key decrement (-)
8)append key value

7.Hash
1)hset key field value
2)gset key field
3)hmset key field1 value1 field2 value2 …
4)hmget key field1 field2 …
5)hgetall key (查全部)


6)hdel key field (刪)
7)del key (刪整個hash)
8)hincrby key field increment (+)
9)hexists key field (1存在,0不存在)
10)hlen key (獲得field的數量)
11)hkeys key (獲得所有field)
12)hvals key (獲得所有value)

8.List
1)lpust key value1 value2 …(從頭插入)
2)rpust key value1 value2 …(從尾插入)
3)lrange key start end (檢視列表 start:0 第一個數 end:-1 倒數第一個數)
4)lpop key (從頭彈出)
5)rpop key 從尾彈出
6)lpushx key value 無則插入,有則不
7)lrem key count valuecount=0 刪全部value count>0 從頭到尾 刪除count個value count<0 從尾到頭
8)lset key index value替換 index從0開始算
9)ltrim key 0 max 儲存最近max條資料
10)linsert key before/after pivot value在pivot元素之前或之後插入一個value值
11)rpoplpush key1 key2 從連結串列尾部彈出,頭部插入 【迴圈】

9.Set
1)sadd key value1 value2
2)smembers key 檢視集合
3)srem key value1 value2
4)sismember key value 是否存在 1存在 0不存在
5)sdiff key1 key2 減 key1-key2
6)sinter key1 key2 交集
7)sunion key1 key2 並集
8)scard key 獲得成員數量
9)srandmember key
10)sdiffstore destination key1 key2將key1 key2相差的成員儲存在destination
11)sinterstore destination key1 key2
12)sunionstore destination key1 key2

10.SortSet
1)zadd key score1 member1 score2 member2 …
2)zscore key member 返回成員的分數
3)zcard key 返回成員個數
4)zrem key member1 member2 移除指定成員
5)zrange key start end [withscores]加了withscores返回成員及其分數
6)zremrangebyrank key start stop刪排名範圍內的成員
7)zremrangebyscore key score1 score2 刪分數【score1,score2】的成員
8)zrangebyscore key score1 score2 limit offset(角標) count
9)zincrby key increment member
10)zcount key score1 score2
11)zrank key member 成員排名(小到大)
12)zrevrank key member成員排名(大到小)