redis--数据结构

   redis 是一种高级的key:value存储系统 其中value支持五种数据类型

1、字符串 string .
2、字符串列表 lists .
3、字符串集合 sets
4、有序字符串集合 sorted sets
5、哈希 hashes
 
注意三个点
1、key不要太长,尽量不要超过1024 消耗内存 降低查找效率
2、key不要太短,可读性降低
3、在一个项目中,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
移除并获取列表最后的一个元素
 
 
 
原文地址:https://www.cnblogs.com/jjffeng-/p/7873660.html