Redis

什么是Redis?

Redis是一个开源的使用C语言编写、遵守BSD协议、支持网络、可基于内存、分布式、可选持久性的键值对(key-value)存储数据库,提供了多种语言的API,也被称为NoSQL数据库。

NoSQL,不仅仅是SQL,泛指非关系型数据库。NoSQL数据库并不是要取代关系型数据库,而是关系型数据库的补充。

关系型数据库(RDBMS)

  • MySQL
  • Oracle
  • DB2
  • SQLServer

非关系型数据库(NoSQL)

  • Redis
  • Mongo db
  • MemCached

应用场景

缓存
任务队列
消息队列
分布式锁

五种常用数据类型

  • 字符串 string
  • 哈希 hash
  • 列表 list
  • 集合 set
  • 有序集合 sorted set

字符串 string 常用命令

SET key value		# 设置指定key的值
GET key			    # 获取指定key
SETEX key seconds value # 设置指定key的值,并将key的过期时间设置为seconds秒
SETNX key value		# 只有在key不存在是设置key的值

哈希 hash 常用命令

HSET key field value	# 将哈希表key中的字段field的值设为value
HGET key field		    # 获取存储在哈希表中的指定字段值
HDEL key field 			# 删除存储在哈希表中的指定字段
HKEYS key				# 获取哈希表中所有字段
HVALS key				# 获取哈希表中所有值
HGETALL key				# 获取在哈希表中指定key的所有字段和值

列表 list 常用命令

LPUSH key value1 [value2]	  # 将一个或多个值插入到列表头部
LRANGE key start stop	      # 获取列表指定范围内的元素
RPOP key					# 移除并获取列表最后一个元素
LLEN key					# 获取列表长度
BRPOP kys1 [key2] timeout	  # 移出并获取列表的最后一个元素,如果列表没有元素会阻塞列表知道等待超时或发现可弹出元素为止

集合 set 常用命令

SADD key member1 [member2]	# 向集合添加一个或多个成员
SMEMBERS key			    # 返回集合中的所有成员
SCARD key					# 获取集合的成员数
SINTER key1 [key2]			# 返回给定所有集合的交集
SUNION key1 [key2]			# 返回所有给定集合的并集
SDIFF key1 [key2]			# 返回给定所有集合的差集
SREM key member1 [member2]	# 移除集合中一个或多个成员

有序集合 sorted set 常用命令

通过socre来为集合中的成员进行从小到大排序

ZADD key score1 member1 [score2 member2]	# 向有序集合添加一个或多个成员,或者更新已存在成员的分数
ZRANGE key start stop [WITHSCORES]			# 通过索引区间返回有序集合中指定区间内的成员
ZINCRBY key increment member				# 有序集合中对指定成员的分数加上增量increment
ZREM key member [member]					# 移除有序集合中的一个或多个成员

通用命令

KEYS pattern	# 查找所有符合给定模式(pattern)的key
EXISTS key		# 检查给定key是否存在
TYPE key		# 返回key所存储的值的类型
TTL key			# 返回给定key的剩余生存时间(TTL,time to live),以秒为单位
DEL key			# 删除key
posted @ 2023-07-23 13:21  菠菜好不好吃  阅读(11)  评论(0编辑  收藏  举报