[关闭]
@yuanzhimeng 2017-03-11T04:02:30.000000Z 字数 7531 阅读 477

Redis 学习笔记

数据库


Radis 的数据类型


* 检测键的数据类型

  1. TYPE key_name

功能:Redis Type 命令用于返回 key 所储存的值的类型。
返回值:


1. 类型-字符串(string)

  1. SET zhangsan "this is zhangsan"

2. 类型-哈希(hash)

Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。
Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。

  1. HMSET zhangsan name "zhangsan" age 20 address '南宁市 西乡塘' sex 1

3. 类型-列表(list)

Redis列表是简单的字符串列表,
按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)
一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

  1. LPUSH runoobkey redis

4. 类型-集合(set)

Redis的Set是string类型的无序集合。
集合成员是唯一的,这就意味着集合中不能出现重复的数据。
Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

  1. SADD runoobkey redis

5. 类型-有序集合

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

  1. ZADD runoobkey 1 redis

命令-字符串(string)

1. SET key value

功能:设置指定 key 的值


2. GET key

功能:获取指定 key 的值。


3. GETRANGE key start end

功能:返回 key 中字符串值的子字符


4. GETSET key value

功能:将给定 key 的值设为 value ,并返回 key 的旧值(old value)。


5. GETBIT key offset

功能:对 key 所储存的字符串值,获取指定偏移量上的位(bit)。


6. MGET key1 [key2..]

功能:获取所有(一个或多个)给定 key 的值。


7. SETBIT key offset value

功能:对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。


8. SETEX key seconds value

功能:将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。


9. SETNX key value

功能:只有在 key 不存在时设置 key 的值。


10. SETRANGE key offset value

功能:用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。


11. STRLEN key

功能:返回 key 所储存的字符串值的长度。


12. MSET key value [key value ...]

功能:同时设置一个或多个 key-value 对。


13. MSETNX key value [key value ...]

功能:同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。


14. PSETEX key milliseconds value

功能:这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。


15. INCR key

功能:将 key 中储存的数字值增一。


16. INCRBY key increment

功能:将 key 所储存的值加上给定的增量值(increment) 。


17. INCRBYFLOAT key increment

功能:将 key 所储存的值加上给定的浮点增量值(increment) 。


18. DECR key

功能:将 key 中储存的数字值减一。


19. DECRBY key decrement

功能:key 所储存的值减去给定的减量值(decrement) 。


20. APPEND key value

功能:如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。


命令-HASH

1. HDEL key field1 [field2...]

功能:删除一个或多个hash字段, 不存在的字段将被忽略。
返回值:被成功删除字段的数量,不包括被忽略的字段。

2. HEXISTS key field

功能:查看哈希表的指定字段是否存在。

3. HGET key field

功能:返回哈希表中指定字段的值。

4. HGETALL key

功能:用于返回哈希表中,所有的字段和值。

5. HINCRBY key field increment

功能:为哈希表 key 中的指定字段的整数值加上增量 increment

6. HINCRBYFLOAT key field increment

功能:为哈希表 key 中的指定字段的浮点数值加上增量 increment

7. HKEYS key

功能:获取hash表中的字段

8. HLEN key

功能:获取hash表中字段的数量

9. HMGET key field [field1 ...]

功能:获取所有给定字段的值

10. HMSET key field1 value1 [field2 value2]

功能:Redis Hmset 命令用于同时将多个 field-value (字段-值)对设置到哈希表中。

11. HSET key field value

功能:Hset 命令用于为哈希表中的字段赋值 。

12. HSETNX key field value

功能:只有在字段 field 不存在时,设置哈希表字段的值。

13. HVALS key

功能:获取哈希表中所有值

列表 list

LPUSH key value

1 BLPOP key1 [key2 ] timeout

功能:移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

2 BRPOP key1 [key2 ] timeout

功能:移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

3 BRPOPLPUSH source destination timeout

功能:从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

4 LINDEX key index

功能:通过索引获取列表中的元素

5 LINSERT key BEFORE|AFTER pivot value

功能:在列表的元素前或者后插入元素

6 LLEN key

功能:获取列表长度

7 LPOP key

功能:移出并获取列表的第一个元素

8 LPUSH key value1 [value2]

功能:将一个或多个值插入到列表头部

9 LPUSHX key value

功能:将一个或多个值插入到已存在的列表头部, 列表不存在时操作无效。

10 LRANGE key start stop

功能:获取列表指定范围内的元素, 区间以偏移量 START 和 END 指定

11 LREM key count value

功能:根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素。

返回值: 被移除元素的数量。 列表不存在时返回 0 。

12 LSET key index value

功能:通过索引设置列表元素的值

13 LTRIM key start stop

功能:对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。

14 RPOP key

功能:移除并获取列表最后一个元素

15 RPOPLPUSH source destination

功能:移除列表的最后一个元素,并将该元素添加到另一个列表并返回

16 RPUSH key value1 [value2]

功能:将一个或多个值插入到列表的尾部(最右边)

17 RPUSHX key value

功能:将一个或多个值插入到已存在的列表尾部(最右边)。如果列表不存在,操作无效。

命令-集合

1 SADD key member1 [member2]

功能:向集合添加一个或多个成员

2. SCARD key

功能:获取集合的成员数

3. SDIFF key1 [key2]

功能:返回给定集合之间的差集。不存在的集合 key 将视为空集。

返回值: 包含差集成员的列表。

4. SDIFFSTORE destination key1 [key2]

功能:将给定集合之间的差集存储在指定的集合中。

5. SINTER key1 [key2]

功能:返回给定所有集合的交集

6. SINTERSTORE destination key1 [key2]

功能:返回给定所有集合的交集并存储在 destination 中

7. SISMEMBER key member

功能:判断 member 元素是否是集合 key 的成员

8. SMEMBERS key

功能:返回集合中的所有成员, 不存在的集合 key 被视为空集合。

9. SMOVE source destination member

功能:将 member 元素从 source 集合移动到 destination 集合

10. SPOP key

功能:移除并返回集合中的一个随机元素

11. SRANDMEMBER key [count]

该操作和 SPOP 相似,但 SPOP 将随机元素从集合中移除并返回,而 Srandmember 则仅仅返回随机元素,而不对集合进行任何改动。

功能:返回集合中一个或多个随机数

12. SREM key member1 [member2]

功能:移除集合中一个或多个成员,不存在的成员元素会被忽略。

13. SUNION key1 [key2]

功能:返回所有给定集合的并集, 不存在的集合 key 被视为空集。

14. SUNIONSTORE destination key1 [key2]

功能:所有给定集合的并集存储在 destination 集合中, 如果 destination 已经存在,则将其覆盖。

15. SSCAN key cursor [MATCH pattern] [COUNT count]

功能:迭代集合中的元素

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注