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
移除并获取列表最后的一个元素
相关文章
相关标签/搜索