【Redis】Redis数据类型

星图妙赏 2019-08-29 18:17:36

前序

所有的操作都是在PHP中操作,不会使用命令行,如有不会安装的,请看之前的文章

这都是一些基本操作,每天操作一下,就可以记住

1. 字符串(string)

set,getset是设置值,get是获取值

mset,mget批量设置键对值和批量获取键对值

incr,decr自增和自减并返回新的值

4.incrby,decrby同时加10或同时减10

5.append这个方法是往一个键值后边追加数值

2. 哈希

操作跟字符串类型差不多,就不做演示了

hSet( ‘key’, ‘hashkey1’, val1 ) 设置key的某个hashkey1为val1

hGet( ‘key’, ‘hashkey1’ ) 读取key下hashkey1的值

hMset( ‘key’, ‘arr’) 设置key下多个hashkey的值(通过arr的key(hashkey)对应到val(hashval))

hMget( ‘key’, ‘arr’ )   读取key下多个hashkey的值(arr的value值为hashkey)

hDel( ‘key’, ‘hashkey1’,’hashkey2=null’,’hashkey3=null’) 删除key下指定hashkey1的值

hIncrBy( ‘key’, ‘hashkey1’, int number) 给key下指定的hashkey1增加整型数值

hIncrByFloat( ‘key’, ‘hashkey1’,float number) 给key下指定的hashkey1增加金额

hLen( ‘key’); 获得key下的field个数

hGetall( ‘key’);  返回指定key的数据结果(返回所有的field和value)

hKeys( ‘key’); 返回指定key下的所有field

hVals(‘key’); 返回指定key下的所有value

3. 列表(list)

list类型是双向链表,list既可以用作栈,也可以用到队列,关于栈跟队列在下一篇文章在写

切记是一维数组

1.lpush从头开始添加,rpush从尾部开始添加,lRange读取指定区间的元素,从0开始索引

2. lPop从尾部开始删除,rpop从头部开始删除,俩个都是删除后返回删除的值

3. llen返回list的长度

4.返回list的所有值

5. ltrim截取list,保留指定区间的值,返回值是Bool

4. 集合(set)

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

1.sAdd添加一个string元素到key对应的set集合中,sMembers返回key对应set的所有元素,结果是无序的

2.sRem 移除指定元素(value),scard返回set元素的个数,sismember判读key的集合中是否存在元素val

3.sinter返回所有给定的set(集合)的交集,sunion( key1, key2 ) 返回所有给定的set(集合)的并集,sdiff( key1, key2 ) 返回所有给定的set(集合)的差集

这个就不测试了,知道就可以了

5. 有序集合(sorted set)

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

1.zAdd( key, score, value1, score2, value2 )  添加元素到集合,如果元素在集合中存在更新对应score

zCard( key );   返回集合中元素个数

zScore( key, value );  返回给定元素的score

2.zRem( key, val );  删除指定元素(元素值),zRange('list',0, -1))返回指定键的元素

3.zRemrangebyrank( key, score1, score2 ); 删除集合中排名(权重)在给定区间的元素

zRangebyscore(key, start, end )  从集合中返回指定区间(权重值),返回按自增排序的数组

zRevrangebyscore() 同上,降序排序

zRange( key, start, end )  从集合中返回指定区间(索引),返回按自增排序的数组

zRevrange() 同上,降序排序

zIncrby( key, ++score, val ) 增加某个val的权重值

自行测试哈,用法就是函数后边的的参数

0 阅读:111