本文简单介绍Redis的特点、优势以及redis原生的简单实用方法,如何安装和卸载redis到服务器请参考docker安装及删除Redis。
Redis简介
Redis英文全称Remote Dictionary Server,即远程字典服务,作者Salvatore Sanfilippo,网名antirez。
Redis是一个开源的使用 C语言 编写,遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的API。Redis是一个非关系型数据库(Not only Sql, 简称NoSql)。
Redis特点
1、Redis支持多种数据类型;
2、Redis支持数据持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
3、Redis支持数据的备份,即master-slave模式的数据备份
Redis优势
1、Redis性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s ;
2、Redis的所有操作都是原子性的,要么成功执行要么失败完全不执行。多个操作也支持事务,Redis支持对几个操作合并后的原子性执行,通过MULTI和EXEC指令包起来。
3、Redis提供了丰富的特性,支持 publish/subscribe、通知、key 过期等等特性。
4、Redis提供了丰富的数据类型, 支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作,可根据不同的场景选择不同的数据类型。
Redis数据类型
1、string:字符串
2、hash:哈希
3、list:列表
4、set:集合
5、zset:有序集合
String类型
string 是 redis 最基本的类型,可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value,它是二进制安全的,可以包含任何数据,比如图片或者序列化的对象等,最大value存储值为512MB。
常用相关指令:
SET key value | 设置指定的key的value值 |
GET key | 获取指定的key的value值 |
GETSET key value | 将给定 key 的值设为 value ,并返回 key 的旧值(old value) |
MGET key [key1 key2...] | 获取所有(一个或多个)给定 key 的值 |
SETNX key value | 只有在 key 不存在时设置 key 的值 |
SETEX key seconds value | 将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位) |
STRLEN key | 返回 key 所储存的字符串值的长度 |
MSET key value [key value...] | 同时设置一个或多个 key-value 对 |
MSETNX key value [key value...] | 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在 |
PSETEX key millseconds value | 将值 value 关联到 key ,并将 key 的过期时间设为 millseconds (以毫秒为单位) |
INCR key | 将 key 中储存的数字值增一 |
INCRBY key increment | 将 key 所储存的值加上给定的增量值(increment) |
INCRBYFLOAT key increment | 将 key 所储存的值加上给定的浮点增量值(increment) |
DECR key | 将 key 中储存的数字值减一 |
DECRBY key increment | 将 key 所储存的值减去给定的增量值(increment) |
APPEND key value | 如果 key 已经存在并且是一个字符串, APPEND 命令将指定的 value 追加到该 key 原来值(value)的末尾 |
案例:
SET key value/GET key:
GETSET key value:
MGET key [key1 key2...]
SETNX key value
SETEX key second value
STRLEN key
INCR key / INCRBY key increment / DECR key / DECRBY key increment
INCRBYFLOAT key increment