Redis基本知识(含数据类型)

Redis基本知识

Redis介绍

Redis:REmote DIctionary Server,远程字典服务器。是完全开源免费,用C语言编写的一个高性能Key-Value分布式内存数据库.其基于内存运行,支持持久化,是最热门的NoSQL数据库之一。

Redis具有消息中间件、发布订阅消息系统、定时器、计数器等功能。

Redis优势

  • 基于内存运行,数据读写速度快
  • 支持丰富的数据类型,Sting、List、Set、Hash、Sorted Set
  • 支持事务,操作都是原子性
  • 支持数据持久化,将内存的数据保存在磁盘,可以再次加载使用
  • 支持数据的备份,采用Master-Slave模式数据备份

Redis五大数据类型

String

String是最基本的类型,一个key对应一个value。String类型可以包含任何数据,比如jpg图片或序列化对象。String类型的值最大能存储512MB。

SET name "csw"
GET name
//输出"csw"

常用的指令:

  • SET key value,设置指定key的值
  • GET key,获取指定key的值
  • MSET,同时设置一个或多个key-value对
Hash

Hash是一个String类型的field和value的映射表,适合用于存储对象

HMSET myhash name "csw" age "24"
HGET myhash name
//输出"csw"
HGET myhash age
//输出"24"

常用的命令:

  • HGET key field,获取在哈希表中指定key的所有字段和值
  • HEXISTS key field,查看哈希表key中,指定的field是否存在
  • HDEL key field,删除key中,指定的字段
  • HEKYS key,获取所有key值
List

List是简单的字符串列表,按照插入顺序排序,可以在列表头部和尾部添加元素,底层是一个链表。

LPUSH mylist a1
LPUSH mylist a2
LPUSH mylist a3
LRANGE mylist 1 2
//输出"a1" "a2"

常用的命令:

  • BLPOP key,移出并获取列表的第一个元素
  • BRPOP key,移出并获取列表的最后一个元素
  • LPUSH key value,将第一个或多个值插入列表头部
  • RPUSH key value,将第一个或多个值插入列表尾部
Set

Set是String类型的无序集合,通过HashTable实现。添加、删除、查找的复杂度都是O(1)。

SADD city beijing
SADD city fuzhou
SADD city putian
SMEMBERS city
//输出"beijing" "fuzhou" "putian"

常用的命令:

  • SADD key member1,想集合添加一个或多个成员
  • SCARD key,获取集合的成员数
  • SMEMBERS key,返回集合中的所有成员
Sorted Set

有序集合Zset与Set一样是String类型的集合,不同的是每个元素会关联一个double类型的分数score,通过分数进行从小到大的排序,其中分数score可重复。

ZADD price 3 pen
ZADD price 5 apple
ZADD price 50 dinner
ZRANGEBYSCORE price 4 51
//输出"apple" "dinner"

常用的命令:

  • ZDD key score member1,向有序集合添加一个成员
  • ZCARD key,获取有序集合的成员数
posted @ 2020-03-23 11:30  Tanglement  阅读(209)  评论(0编辑  收藏  举报