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是之后 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM