redis--數據結構

   redis 是一種高級的key:value存儲系統 其中value支持五種數據類型redis

一、字符串 string .
二、字符串列表 lists .
三、字符串集合 sets
四、有序字符串集合 sorted sets
五、哈希 hashes
 
注意三個點
一、key不要太長,儘可能不要超過1024 消耗內存 下降查找效率
二、key不要過短,可讀性下降
三、在一個項目中,key最好使用同一的命名模式
 
 
字符串數據結構--sting
 
//普通的set/get操做
$redis->set('test','feagdsg');
$xin=$redis->get('test');
echo $xin;//顯示的是feagdsg
 
//set 一個存儲時效
$redis->setex('feng',10,'xin');//表示存儲有效期爲10秒
 
//setnx /msetnx 至關於add操做 不會覆蓋已有值
$redis->setnx('foo',12);//true
$redis->setnx('foo',34);//false
 
 
//del 刪除
$redis->del('foo');//true
 
//type 類型檢測 字符串返回string 列表返回list 集合set表返回set/zset hash哈希表返回hash
$redis->type('foo');//不存在返回none
$redis->set('str','test');
$rdis->type('str');//返回的是string
 
//setrange部分替換操做
$redis->setrange('str',0,'abc');//返回是0 至關於重新設置了下str
$redis->setrange('str',2,'cd');//返回是4 字符串爲abcd
 
//substr 部分操做
$redis->substr('str',0,2);//表示從0起步,取到第二個字符,共三個,返回abc
 
//strlen 獲取字符串長度
$redis->strlen('str');//返回4

//keys 模糊查找功能,支持*號以及?號(匹配一個字符)
$redis->set('fool',123);
$redis->set('foo2',4586);
$redis->keys('foo*');//返回fool和fool2
$redis->keys('f?oo');//同上 

 

list 結構數據數據結構


lpush  左插入
rpush  右插入
lrange 查詢‘

127.0.0.1:6379> lpush mylist 12
(integer) 8
127.0.0.1:6379> rpush mylist d
(integer) 9
127.0.0.1:6379> lrange mylist 0 -1
1) "12"
2) "l"
3) "l"
4) "o"
5) "w"
6) "o"
7) "r"
8) "l"
9) "d"
127.0.0.1:6379> 


linsert name before/after 'value' 'new value'
插入新字段 前/後

llen key  獲取長度列表

linsert name before/after 'value' 'new value'
 
  
插入新字段 前/後
 
  
llen key 獲取長度列表
 
  
lpush key value1[value2]
 
  
將一個或者多個插入已存在的列表頭部
 
  
 
lrange key start stop
 
  
獲取列表指定範圍內的元素 lrange mylist 0 -1 獲取所有的值
 
  
 
  
lindex key start
 
  
經過索引獲取列表中的元素
 
  
lindex mylist 1 獲取mylist列表中的索引爲1的元素
 
  
 
  
lpop key
 
  
移除並獲取列表的第一個元素
 
  
rpop key
 
  
移除並獲取列表最後的一個元素


lpush key value1[value2]
將一個或者多個插入已存在的列表頭部

lrange key start  stop 
獲取列表指定範圍內的元素 lrange  mylist  0  -1 獲取所有的值

lindex key start
經過索引獲取列表中的元素
lindex mylist  1   獲取mylist列表中的索引爲1的元素

lpop key  
移除並獲取列表的第一個元素
rpop key
移除並獲取列表最後的一個元素
相關文章
相關標籤/搜索