Redis基础类型操作命令集

98 阅读4分钟

1. Redis总纲

Redis 是一个开源的,纯内存操作的,键值方式存储数据库,它支持多种类型的数据结构,如字符串、列表、集合、哈希、有序集合等。

2.Redis特点

性能高效:Redis能读的速度是110000次/s,写的速度是81000次/s,因此被广泛应用于缓存场景。

支持多种数据类型:Redis支持最常见的数据类型,为复杂的应用提供了广泛的可能性。

数据持久化:Redis可以将数据保存在磁盘上(RDB\AOF),重启后可以再次加载进行使用。

支持消息队列:Redis还可以用作消息队列使用,它提供了发布/订阅等相关功能。

支持事务:Redis支持事务,可以一次执行多个命令,中间不会被其他命令插入。

高可用和分布式:通过Redis的Sentinel系统和Cluster集群模式,可以构建高可用、分布式的Redis系统。

3.Redis安装和启动

Redis的安装过程根据操作系统的不同而不同。以Linux为例,可以通过如下命令进行安装:

wgethttp://download.redis.io/releases/redis5.0.3.tar.gzwget http://download.redis.io/releases/redis-5.0.3.tar.gz tar xzf redis-5.0.3.tar.gz cdredis5.0.3cd redis-5.0.3 make 安装完成后,可以通过以下命令启动Redis:

$ src/redis-server

这样就成功启动了Redis服务器。要连接到这个服务器,可以新打开终端,然后输入:

$ src/redis-cli

这样就可以通过Redis脚手架的方式开始使用Redis了。

4.Redis的基础类型介绍

4.1 String类型(key:stringType)

String类型是Redis最基础的数据类型,是二进制安全的。它可以包含任何数据,例如jpeg图片或者序列化的对象,或者就简单的文本数据。String类型的value最大能存储512MB的数据。

常用命令介绍(请注意Redis声明key是区分大小写的)

  • set

image.png

  • get

image.png

  • incr\decr(用于进行数值类型数据加减1操作,并且返回运算后结果)

image.png

4.2 List类型(key:list)

List类型是Redis的一种复杂的数据类型,也是Redis的重要特性之一。Redis的List类型实际上是一个双向链表,所以添加一个新的元素到List的头部或者尾部的复杂度是O(1)。同时由于采用链表实现,你可以利用索引下标来获取元素,或者进行范围查询,这个操作的复杂度是O(N)。

  • lpush\rpush(为集合添加元素,返回操作后集合长度)

image.png

  • lpop\rpop(为集合删除元素,返回删除元素的值)

image.png

  • ltrim (删除指定下标区域之外的元素,用法:ltrim key start end)

image.png

  • lrem(删除指定元素,用法示例:lrem key count value (count未删除值为value的个数,为0时表示全部删除))

image.png

4.3 set类型(key:set)

Set类型也是Redis的一种复杂数据类型,它是一种无序的、元素不重复的集合。由于集合中的元素是唯一的,所以可以使用Set类型来存储一些集合元素,并进行交集、并集、差集等操作。

  • sadd

image.png

  • srem

image.png

  • sismember(判断是否存在某元素,用法示例:sismember key value)
  • smembers(展示key的所有元素)
  • scard(获取元素个数)
  • srandmember(获取key中的随机一个元素)
  • spop(随机获取key中固定个数元素,并删除元素,用法示例:spop key count)
  • smove(元素移动,用法:smove key1 key2 value)
  • sdiff(获取第一个key中存在,却不存在于后续key中的值,用法:sdiff key key1)

image.png

  • sunion(并集)
  • sinter(交集)\sintercard(取交集,只返回个数)

4.4 Hash类型(key:hash)

Hash类型是Redis的一种复杂数据类型,它相当于一种简单的二级字典:第一级的key对应一个新的字典,这个新的字典就是Hash的内部结构,拥有自己的key-value对。Hash类型适合用于存储对象。

  • hgetall
  • hset\hmset
  • hget\hmget key1 key2 (获取二级字典值)
  • hincrby

image.png

4.5 sortedset类型(key:sortset)

Sorted Set是Redis的一种复杂数据类型,也是集合的一种,能够存储一组数据,并且每个数据都有一个得分。数据是唯一的,但是得分(score)可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。而得分的值是通过跳跃表来进行排序的

  • zadd key score value
  • zscore key value
  • zrange key start end
  • zcard key
  • zrem key value

image.png

参考文献:icepip.blog.csdn.net/article/det…