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共享