1. 程式人生 > >redis的入門篇---五種數據類型及基本操作

redis的入門篇---五種數據類型及基本操作

man incrby lis index gets key存在 class als 個數

查看所有的key

keys *

清空所有的key

flushall

檢查key是否存在

exists key

設置已存在的key的時長

expire key  10      //設置key為10s

查看key還剩多少時長

ttl key   //-1是永久    -2是不存在

查看key的類型

type key

隨機取出一個key

randomkey

重命名key

rename key  newkey    //如果key存在  直接覆蓋

renamenx key newkey //如果key存在 則失敗 返回0

設置一定時間的key

setex key seconds val    //key  時間   val

psetex key seconds val //和上面的功能一樣 只不過多加一個p 區別是上面的時間是秒級別的 這個是毫秒級別的

字符串類型:

得到指定範圍的字符串

getrange key 0 2    //閉合區間  取三個長度的字符串

得到舊的值並賦予新的值

getset key newval   

//比如說get a    得到A
//然後getset a AA  還是得到A
//但此時get a    得到的是AA

在字符串後面追加字符串

append key  append    //意思是在key的val後面加上append字符串

hash哈希(其實就是一個Map<String,Map<String,String>>格式的數據結構)

設置值

hset map name  liuzhonghua   //成功1  

檢驗是否存在

hexists map name     //存在1   不存在0

得到值

hget map name    //返回liuzhonghua

得到key所有的值

hgetall  map   

//返回  下面的這中格式    key val  key  val
name liuzhonghua age 23 sex man

得到值裏面所有的key 和所對應的val

hkeys map  

//返回

name
age
sex

hvals map 
liuzhonghua
23
man

list列表

lpush list 1 2 3 4 5 6  //lpush 特點是最後放進去的總是在第一位

取一定範圍的list值和特定索引的值

lrange list 0 2  //得到1 2 3


lindex list 3    //得到4

移除最後一個元素和第一個元素

lpop list  //移除第一個元素  6  返回6

rpop list   //移除最後一個元素 1  返回1 

set列表(特點:無序,不保證你放進去的和得到的順序一致,值不重復)

增加

sadd set a b c d   //key是set    val 是  a b c d

得到這個集合的數量

scard  set        //返回4

查看key的val

smembers  set  //a b c d

兩個集合的差集

sdiff set1 set2  //意思是set1 裏面的值減去 set2裏面的值  得到set1裏面的值

兩個集合的交集

sinter set1  set2

兩個集合的並集

sunion set1 set2

返回指定數量的隨機數

srandmember  set1  2     //隨機返回set1的兩個值

判斷是否是集合的元素

sismember set1 a   //如果是 返回1  否則返回0

移除指定的val

srem set1 a b      //移除set1集合裏面的a和b   返回成功的個數  2

隨機移除set裏面的val 並返回移除的值

spop  set1   //隨機返回一個值

zset (有序集合,不重復)

增加(還得必須這樣寫 真操蛋 看不懂 後面都是一對一對的 艹,,,我懂了,100這樣的數值是必須寫的,因為是靠他們排序的,我們平常獲取的值都是abc

這樣的,切記)

zadd zset  100 a  200 b  300 c    // key是zset  a的分數是100   b的分數是200   c的分數是300

查看有幾個元素

zcard zset    //返回3

查看指定的某個值(還得必須這樣寫 )

zscore zset a    //返回100   

返回符合指定區間的數量

zcount zset  0 200   //返回2   閉合區間  就是說a 和 b 他倆所對應的值在0和200之間  符合要求

查看索引

zrank zset a    //0  
zrank zset b    //1  
zrank zset c    //2  

增加值

zincrby zset 1000 a   //意思是讓a的值增加1000  當然a的順序也會改變,因為zset是有序的 是根據他所對應的值來排序的

獲取指定的元素

zrange zset  0  100    //意思是獲取zset的前100個元素   a b c 

如果想獲取一對一對的 比如說 a 100 b 200 c 300

zrange zset 0 100 withscores

redis的入門篇---五種數據類型及基本操作