redis數據類型之string,list

  redis是幹啥的就不多說了,我這裏使用windows版的redis,redis是基於內存的,單進程單線程的非關係型數據庫,不需要考慮什麼線程安全;

  想要慢慢的深入redis就要耐下心來從最基本的命令開始慢慢敲一遍,害

1. redis啓動腳本

  下載完之後目錄應該是下圖這樣的,我們啓動一般是redis-server.exe redis.windows.conf啓動的,這樣可以根據不同配置文件啓動的redis服務也是不同的

  便於後期的測試,我們寫一個啓動的腳本,就把上面那一行命令複製到一個txt文件,然後修改文件後綴爲.bat,以後只需要雙擊這個bat文件就能啓動redis服務端,然後點擊redis-cli.exe就能連接上了;

 

2.數據類型

  redis中有五種數據類型,分別是zset,set,list,hash和string,其實就是和java中那幾種集合差不多

  下面我們分別看看這幾種數據的用法;

  2.1 string

  字符串是最常用的數據類型了,操作的命令:

 

  set/get:存放/獲取鍵值對

 

  getset: 首先獲取key對應的值,並且覆蓋原來的值;

 

  mset/mget: 可以一次性保存/獲取多個鍵值對

 

  strlen: 獲取鍵對應的值得長度

 

  append: 給鍵對應的值附加字符串,返回的是最終字符串的長度 

 

  getrange:字符串切割

 

  setex/psetex: 和set命令一樣使用,只不過這裏可以設置超時時間,時間過了就刪除這個鍵值對,前者單位事秒,後者是毫秒

 

  setnx: 這個命令真的很重要!!!redis實現分佈式鎖就是基於這個命令的,當redis沒有指定的key的時候,就存我們傳進去的鍵值對;有指定key就啥也不幹

 

 

  msetnx: 這是setnx強化版,可以同時設置多個鍵值對

 

  decr/incr: 自減一和自加一,就是i--和i++

  

  decrby/incrby: 上面的命令每次只能減一/加一,這個命令可以指定減數/加數

 

  2.2 list

  很多個人覺得這個list像java中的List<T>,其實我覺得像java中List<List<T>>這種類型纔對,而且redis中的list可以從頭部插入元素lpush,從尾部插入元素rpush

  特點:元素有序,可重複

 

 

 

  lpush:創建一個list,並每次從頭部(或者說左邊)向其中添加多個元素,元素可以重複

  lrange: 遍歷list中所有元素

 

  rpush: 每次從尾部向list添加元素

 

  lpushx/rpushx: 向list添加元素之前,要保證這個list必須存在,用法和lpush/rpush一樣;(這個x是exist的簡寫)

 

 

  lpop/rpop: 拿到頭部/尾部元素,並刪除list中對應的該元素

 

  llen: 獲取指定list中元素的數量

 

 

  lset: 修改列表中指定位置的值

 

  lindex: 獲取列表中指定位置的值

 

 

  lrem: 刪除指定數量的重複元素

 

  ltrim:切割一部分的列表爲我所用

 

 

  linsert: 從頭到尾匹配到指定元素,在這個元素之前/之後 插入指定元素  ,下面的before是之前,用after是之後 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章