Redis是一个用C语言编写, 开源高性能非关系型(NoSQL)的键值对数据库
Redis五种基本数据类型
当我们将整数、浮点数存储为String类型时, Redis会将其转换为字符串形式(浮点数不会发生精度丢失)
set (key) (value):设置键值对setnx (key) (value):设置键值对(防止覆盖)
get(key): 获取key对应的valuegetset (key) (value): 先get再set, 返回旧值, 如果没有旧值则返回nilappend (key) (value): 向指定的key的value后追加字符串del (key): 删除keystrlen (key): 获得key对应值的字符串的长度incr (key) :value + 1decr (key):value - 1incrby (key) (number):value + numberdecrby (key) (number):value - numbergetrange (key) (begin) (end) :获取[begin,end]下标范围内的值,如果是(0,1)就是获取所有值setrange (key) (begin) (xxxx) :从begin下标开始设置xxx值,将原有的替换掉setex (key) (seconds) expire:设置键过期时间ttl (key) :查看key剩余存活时间mset (key1) (value1) (key2) (value2) :用于同时设置一个或多个 key-value 对mget (key1) (key2) :返回所有(一个或多个)给定 key 的值(如果某个key不存在,不存在的key返回null)msetnx(key1) (value1) (key2) (value2) :当所有 key 都成功设置,返回 1 。 如果有一个key设置失败,所有的key设置都会失败,返回 0 。原子操作1.缓存
最常见的使用场景, 主要得益于其高性能(内存操作)、灵活的数据结构(支持5种结构)等等
哪些内容适合进行缓存
2.计数器
Redis是基于内存的键值对存储系统, 读写速度非常快, 性能很高, 能以非常低的延迟处理大量的计数请求, 同时Redis是单线程的, 一个命令执行完才会执行下一个, 不会出现线程安全问题
3.session共享
session + redis实现session共享