概念
redis是用C语言开发的一个高性能键值对数据库。
特征
数据之间没有必要的联系
单线程工作机制
高性能
多种数据类型(string,list,hash,set,sorted_set)
持久化
命令
通用命令
keys 查询符合模板的所有key(keys *)
del 删除一个指定的key
exists 判断key是否存在
expire 给key设置一个有效期,到期key会被自动删除
ttl 查询key的有效期
数据类型
key层级结构
redis的key允许多个单词形成层级结构。
格式: 项目名:业务名:类型:id
string
string类型,也就是字符串类型,是redis最简单的存储类型。其value为字符串。不过根据字符串格式不同,可以分为string普通字符串、int整数类型、float浮点型类型。
string常见命令
STE 添加或者修改已经存在的string类型键值对
GET 根据key获取sting类型的value
MSET 批量添加string类型键值对
MGET 批量获取string类型的value
INCR 整型value自增1
INCRBY 整型value自增指定的数值
INCRBYFLOAT 浮点型value自增指定数值
SETNX 添加string类型键值对,前提key不存在
SETEX 添加string类型键值对,并指定有效期
hash
hash类型,也叫散列,其value是一个无序字典,类似java中hashmap。
hash常见命令
list
redis的list类型与java中linkedList类似,可以看做一个双向链表。可以正反向检索。
特征
有序
元素可以重复
插入删除快
查询速度一般
list常见命令
set类型
redis的set类型与java中hashset类似,可以看做value为null的hashMap。
特性
无序
元素不可以重复
查找快
支持交集、并集、差集等功能
set常见命令
sortedSet
redis的sorted类型是一个可以排序的set集合,与java的treeSet有些类似。SortedSet中的每一个元素都带有一个score属性,可以基于score属性对元素进行排序。
特性
可排序
元素不重复
查询速度快