Redis从入门到熟练使用(详解,第一篇,共五篇)

Redis学习笔记

Redis是什么

Redis是一个开源的数据库。底层由C语言编写、开源、支持网络、 基于内存也可持久化的日志型,高性能的key-Value数据库。

通常被称为数据结构服务器, 因为值Value的类型可以为字符串(String)、哈希(Map)、列表(list)、集合(sets)、有序集合(sorted sets)等类型。

Redis的特点是什么

  1. Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启时可以再次加载使用。
  2. Redis不仅仅支持key-value类型的数据,同时还支持list、set、Map、sorted sets等数据类型。
  3. Redis支持数据库备份,也就是master-slave(主从)模式的数据备份。

Redis的优势是什么

  1. 性能高,Redis的读写速度分别是110000次/秒 // 81000次/秒
  2. 原子性,Redis的所有操作都是原子性的,Redis也支持对几个操作合并后的原子性执行
  3. 丰富的特性,Redis支持publish/subscribe(发布/订阅)、通知、key过期等特性。
  4. 支持丰富的数据类型的数据存储。

Redis的应用场景有哪些

  1. 会话缓存(最常用)
  2. 消息队列,比如支付
  3. 活动排行榜或计数
  4. 发布、订阅消息(消息通知)
  5. 商品列表、评论列表等

Redis的安装

  1. 在官网下载源.

wget http://download.redis.io/releases/redis-4.0.11.tar.gz

Redis从入门到熟练使用(详解,第一篇,共五篇)_第1张图片

  1. 解压命令为:tar -zxvf redis-4.0.11.tar.gz

Redis从入门到熟练使用(详解,第一篇,共五篇)_第2张图片

3)进入redis目录下进行编译

Redis从入门到熟练使用(详解,第一篇,共五篇)_第3张图片

4)安装命令为:make install

Redis从入门到熟练使用(详解,第一篇,共五篇)_第4张图片

5)在redis的Src目录下,有四个可执行文件redis-server、redis-benchmark、redis-cli和redis.conf。然后拷贝到一个目录下。命令为:

mkdir /usr/redis

cp redis-server /usr/redis

cp redis-benchmark /usr/redis

cp redis-cli /usr/redis

cp redis.conf /usr/redis

Redis从入门到熟练使用(详解,第一篇,共五篇)_第5张图片

cd /usr/redis

启动Redis服务命令为:redis-server redis.conf

启动后如图所示,Redis的基本信息

Redis从入门到熟练使用(详解,第一篇,共五篇)_第6张图片

测试是否启动成功,命令为:redis-cli

Redis从入门到熟练使用(详解,第一篇,共五篇)_第7张图片

后台启动服务端

后台启动服务,命令为:nohup redis-server &

Redis从入门到熟练使用(详解,第一篇,共五篇)_第8张图片

启动后查看redis进程信息

注:Could not connect to Redis at 127.0.0.1:6379: Connection refused

停止后如需使用,需要重新启动Redis服务

退出/停止

退出Redis命令为:exit

退出客户端命令为:localhost:6379> quit

停止Redis命令为:redis-cli shutdown 待定

如何进入Redis并设置密码

进入Redis命令为:redis-cli

Redis从入门到熟练使用(详解,第一篇,共五篇)_第9张图片

验证密码,命令为:auth 密码

远程连接

需要已经安装redis,可以使用redis-cli命令

命令为:redis-cli -h host -p port -a password

Redis键如何使用

查看redis-server统计信息命令为:INFO

Redis del命令的使用语法如下,del用于删除key,以及赋予key的值

首先创建key并给key赋初始值 语法为:mset key value  /   set key value

del语法为del key  /  返回值是被删除key的数量

删除多个key

Redis从入门到熟练使用(详解,第一篇,共五篇)_第10张图片

Redis DUMP命令基本语法如下,该命令用于序列化给定的key,并返回被序列化得值

首先创建key并给key赋值,然后使用dump 序列化值,dump not-exists-key待定

Redis从入门到熟练使用(详解,第一篇,共五篇)_第11张图片

Redis EXISTS命令基本语法如下,该命令用于检查给定的key是否存在

首先创建key并给key赋值,然后使用exists检查key是否存在。

exists 语法为 exists key   /   若key存在返回1,不存在返回0

Redis从入门到熟练使用(详解,第一篇,共五篇)_第12张图片

Redis Expire命令基本语法如下,该命令用于给key设置过期时间,过期后key不再可用

Expire语法为:expire key 过期时间[单位/秒]

首先创建key并给key赋值,然后使用Expire设置过期时间。如图所示:

Redis从入门到熟练使用(详解,第一篇,共五篇)_第13张图片

Redis Expireat命令基本语法如下,该命令用于给key设置过期时间戳

[UNIX 时间戳unix timestamp]过期后key不再可用

Expireat语法为:expireat key 过期时间戳

首先创建key并给key赋值,然后使用Expireat设置过期时间戳。如图所示:

Redis PExpireat命令基本语法如下,该命令用于给key设置过期时间,以毫秒为单位,过期后key不再可用

PExpireat语法为:pexpireat key 过期时间[毫秒]

首先创建key并给key赋值,然后使用PExpireat设置过期。如图所示:

Redis从入门到熟练使用(详解,第一篇,共五篇)_第14张图片

Redis Persist命令基本语法如下,该命令用于移除给key设置过期时间,使key永不过期

Persist语法为:persist key

首先创建key并给key赋值,然后使用persist设置时间永不过期。如图所示

  1. 创建一个key并赋值,
  2. 设置过期时间
  3. 查看还剩多久过期
  4. 设置key永不过期

如果返回1,移除成功。返回0,没有设置过期时间或key不存在。

  1. 查看key多久过期,

Redis从入门到熟练使用(详解,第一篇,共五篇)_第15张图片

Redis Pttl命令基本语法如下,该命令用于查询给key设置过期时间,以毫秒为单位,返回值为当前key返回的时间

Pttl语法为:pttl  key

ttl语法为:ttl  key

首先创建key并给key赋值,设置过期时间,然后使用Pttl查看剩余过期时间

如图所示:

Redis从入门到熟练使用(详解,第一篇,共五篇)_第16张图片

Redis Keys命令基本语法如下,该命令用于查找给定模式[pattern]/条件的key

Keys语法为:key key*  /  [与模糊查询类似]

首先创建key并给key赋值,

Redis从入门到熟练使用(详解,第一篇,共五篇)_第17张图片

然后使用Keys查找符合条件的key。如图所示:

Redis从入门到熟练使用(详解,第一篇,共五篇)_第18张图片

Redis Move命令基本语法如下,该命令用于将当前的key移动到给定的数据库当中

Keys语法为:move key 指定的数据库  /  [与Linux移动文件类似]

首先查找0数据库,并创建key并给key赋值,查找0数据库,创建key并赋值,查看当前key是否存在,然后把当前key移动到1号数据库。

如果两个数据库中有相同的key,则会移动失败。

与Linux中移动文件的操作相同。

Redis从入门到熟练使用(详解,第一篇,共五篇)_第19张图片

Redis Randomkey命令基本语法如下,该命令用于从当前数据库随机返回key

Persist语法为:randomkey

首先创建多个key并给key赋值,然后使用randomkey随机获取当前数据库的key。

如图所示:

Redis从入门到熟练使用(详解,第一篇,共五篇)_第20张图片

Redis Rename命令基本语法如下,该命令用于修改当前key的名称

Rename语法为:rename key名称 新key名称  与Linux mv命令相同

首先创建key并给key赋值,然后使用rename为key修改名称

使用rename修改key名称,当没有当前key,会报错,如图所示

    使用reanme修改key名称,如图所示

Redis从入门到熟练使用(详解,第一篇,共五篇)_第21张图片

注:当rename修改key名称时,如果修改的新名字,与之前存在的key名称相同,名称修改完成后,key原来的值被替换

Redis Renamenx命令基本语法如下,该命令用于修改当前key的名称

Renamenx语法为:renamennx key名称 新key名称  

注:修改key的名称,如果新名称不存在,则修改成功。新名称存在,失败后返回0,

Redis Type命令基本语法如下,该命令用于获取当前key的value值的类型

Type语法为:type key 回车后显示value的类型  

如图所示

Redis从入门到熟练使用(详解,第一篇,共五篇)_第22张图片

Redis(String)如何使用

  1. set命令设置指定的值,如果有旧值就覆写,且无视类型。

语法为:set key_name value

  1. get命令获取指定的key,如果不是字符串类型,返回错误码,不存在,返回nil

语法为:get key_name

  1. getrange命令获取当前字符串的内容,相当于下标截取,start开始,end结束

命令为:getrange key_name start end

  1. getset命令用于设置指定key的值,并返回旧的值。

命令为:getset key_name value

  1. getbit 命令为对key所存储的value,获取指定偏移量上的位(bit)

命令为:getbit key_name offset              待定

  1. Mget命令获取所有(一个或多个)指定的key,如果key里面有某个key不存在,返回nil

语法为:mget key_1 key_2 key_3 ...

  1. Setbit命令用于key所储存的字符串,设置清除指定偏移量上的位(bit)

语法为setbit key_name offset

  1. Setex 命令为指定的key设置值及过期时间,如果key已存在,setex命令会将旧值替换,

语法为:setex key_name timeout value

  1. Setnx命令为指定的key设置值,如果key不存在设置成功返回1,key存在设置失败返回0。

语法为:setnx key_name value

10) Strlen命令用于,获取指定key存储的字符串长度,当不是字符串时,返回一个错误。

    语法为strlen key_name

  1. Mset命令设置一个或多个key-value对。

语法为:mset key_1 value1 key_2 value2 key_3 value3...

  1. MSetnx命令为多个的key_value设置值,如果有一个key存在设置成功返回0,key都不存在返回1。

语法为:Msetnx key_name1 value1 key_name1 value1 key_name1 value1

  1. PSetex 命令为指定的key设置值及过期时间单位毫秒。Setex单位秒

语法为:Psetex key_name 毫秒[过期时间]value

  1. Incr命令为key的value自增 1

语法为:lncr key_name

  1. 1

未完待续。。。

 

你可能感兴趣的:(Redis,Redis)