一、基礎(chǔ)數(shù)據(jù)類型與操作
? ? ? ? redis數(shù)據(jù)庫支持五種數(shù)據(jù)類型:string(字符串)驾孔,hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)
? ? ? ? 1.1 string類型 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 它是redis最基礎(chǔ)的數(shù)據(jù)類型沛婴,一個(gè)key對應(yīng)一個(gè)value,是二進(jìn)制安全的督赤,就是說redis的string可以包含任何類型嘁灯,包括圖片或序列化的對象等。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? set躲舌、get 不區(qū)分大小寫旁仿,set用于設(shè)置值,get用于獲取值 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 基本語法:set key value ,get key枯冈,del key
? ? ? ? ? 1.2 hash類型? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 它是一個(gè)鍵值對集合毅贮,是一個(gè)string類型的field和value的映射表,hash特別適合用于存儲對象 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?hset尘奏、hget滩褥,命令不區(qū)分大小寫,set用于設(shè)置值炫加,get用于獲取值 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?基本語法:hset key field value瑰煎,hget key field
? ? ? ? ? ? ?hset和hget都只能單個(gè)操作,不能進(jìn)行多個(gè)操作俗孝,如果同時(shí)多個(gè)操作酒甸,則需要使用hmset,hmget ? ? ? ? ??
? ? ? ? ? ? 1.3 list (集合)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? lpush往列表的前邊插入赋铝;lrange后面的數(shù)字是范圍(閉區(qū)間)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 基本語法:lpush key ?value插勤,lrange kye ?數(shù)字1 ?數(shù)字2?
? ? ? ? ? ? 1.4 set(集合)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Redis的Set是string類型的無序集合。集合是通過哈希表實(shí)現(xiàn)的革骨,所以添加农尖,刪除,查找的復(fù)雜度都是O(1) ? ? ? ? ? sadd 添加 良哲,smembers 查詢 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 基本語法:sadd key ?value1 value2 ...盛卡,smembers key
? ? ? ? 1.5 zset(sorted set:有序集合)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? zset和set一樣也是String類型的集合,且不允許元素重復(fù)筑凫,zset和set不同的地方在于zset關(guān)聯(lián)一個(gè)double類型的分?jǐn)?shù)滑沧,redis通過分?jǐn)?shù)對集合中的元素排序,zset的元素是唯一的巍实,但是分?jǐn)?shù)是可以重復(fù)的嚎货。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 基本語法:zadd key score number,ZRANGEBYSCORE key min max
? ? ? ? 其實(shí)redis還涉及到HyperLogLog蔫浆,訂閱殖属,事務(wù),腳本瓦盛,備份與恢復(fù)洗显,以及數(shù)據(jù)庫dba的一些操作,這在暫時(shí)不做介紹了原环,有空的大家可以去了解挠唆。下篇將介紹基于java操作redis的jedis。