redis学习笔记-04:redis五大数据结构类型

redis的命令大全网站:http://redisdoc.com/

一、redis五大数据类型

1、String(字符串)、Hash(哈希,类似Java里的Map)、List(列表)、Set(集合)和Zset(sorted set,有序集合)

2、命令(命令不区分大小写):

(1)set/get/del  常规命令

(2)append k1 12345  把原值vv1和12345拼接成一个字符串:vv112345

(3)strlen k1  得到k1值的长度

(4)INCR/DECR k2  如果k2的值为数字,那么执行一次INCR命令会加1,执行一次DECR命令会减1。

(5)INCRBY/DECRBY k2 3  如果k2的值为数字,那么执行一次INCRBY命令会加3,执行一次DECRBY命令会减3。

(6)getrange k1 0 3  取k1的字符串值的前4个字符 ,所以 get k1 相当于 getrange k1 0 -1。

(7)setrange k1 0 xxx  把k1的值的前3个值(和xxx的长度相同)替换为xxx。

(8)setex k2 5 vv2  把k2的存活时间设置为5秒。

(9)setnx k4 xxx  如果k4这个键值对已经存在了,那么不起作用,如果不存在,才创建,值为xxx。

(10)mset/mget k1 v1 k2 v2 k3 v3  mset同时创建三个键值对;mget同时得到k1、k2、k3的值。

(11)msetnx k4 v4 k5 v5  如果这两个键都不存在,才可以创建成功,否则只要有一个存在,那么都不能创建成功。

 

二、List(列表)

1、lpush/rpush list01 1 2 3 4 5  创建列表,lpush是值的顺序与创建时相反,rpush是值的顺序为创建和显示一致。

2、lrange list01 0 3  取列表的前4个值,lrange list01 0 -1则表示取出全部。

3、lpop和rpop  lpop返回序号为1的元素,rpop返回序号最大的元素,并且移除这个元素。

4、lindex list01 3  返回序号为3(从0开始记数)的元素的值。

5、llen list01  返回列表list01中元素的个数

6、lrem list03 2 3  从list03中删除2个值为3的元素。

7、ltrim list01 0 3  复制list01中的前4个元素,并赋值给list01

8、lset list01 1 3  把数字3插入并替换list01的第2个元素

9、linsert list01 before/after 6 10  在

 

三、String(字符串)

String是redis最基本的类型,可以理解为与Memcahed一模一样的类型,一个key对应一个value。

String类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象。

String类型是redis最基本的数据类型,一个redis中字符串的value最多可以是512M。

 

四、Hash(哈希)

redis hash 是一个键值对集合,redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。类似与java里面的Map<String, Object>。

 

五、Set(集合)和Zset(有序集合)

redis的Set是String类型的无序集合,是通过HashTable实现的。

Zset是有序集合,和set的区别在于每个元素都会关联一个double类型的分数,通过分数为集合中的成员从小到大进行排序。Zset的成员是唯一的,但分数可以重复。

 

六、redis键(key)命令

1、keys *   该数据库中存在的所有key

2、exists k1  判断某个key(比如k1)是否存在

3、move k3 2  把k3的键值对移动到3号数据库中

4、expire k1 5   为给定的key设置过期时间,比如k1只存活5秒

5、ttl k2  查看该key还有多少秒过期,返回-1表示永不过期,返回-2表示已过期

6、type key  查看key是什么类型的

7、key已经存在value的情况下,set key 新value:set k1 vv1  新的value会覆盖旧的value

 

 

 

 

上一篇:使用正则表达式去掉字符串里的html标签提取中文


下一篇:html 如何转化为一个 delta 模型