欢迎投稿

今日深度:

第六章:redis(前篇),第六章redis

第六章:redis(前篇),第六章redis


文章目录

  • 第一节:redis的简介和安装
      • ==redis支持的数据类型==
      • ==下载地址和参考手册==
      • ==安装redis==
      • ==配置内存空间与密码==
      • ==启运服务端与客户端==
  • 第二节:Redis数据基本操作
      • ==常用字符串操作==
      • ==常用key键操作==
      • ==常用哈希hash操作==
      • ==常用列表list操作==
      • ==常用集合set操作==
      • ==常用有序集合zset操作==
  • 第三节:redis的管理操作
      • ==查看服务端状态==
      • ==客户端操作==
      • ==数据库操作==
      • ==允许远程连接==

第一节:redis的简介和安装

redis是一种高速高性能的内存数据库,存储的是 键值对数据 ;由于极高的存储和访问速度,redis常被用来作为数据缓存服务器;另外redis是支持定时数据持久化的(即redis会自动将数据写入磁盘)——这是redis大杀四方的重要原因;
redis支持多个不同的端口同时向主端口进行写入,这经常被用在分布式爬虫等场景中;
2010年以后redis开始大面积流行,关系型数据库(核心数据)+redis(缓存)是常规的、常见的数据解决方案;

redis支持的数据类型

redis可以存储的值的数据类型包括:
字符串(单个value最大支持512M)
哈希hash(存储对象)
列表list
集合set
有序集合zset(权重排序)

下载地址和参考手册

redis下载地址官网可点击此处:
可视化工具RedisDesktopManager下载地址可点击此处:
中文版命令参考手册可点击此处:

安装redis

redis 是在Linux玩的数据库,目前并没有其他系统版本,并且数据包是免安装的,下载到的压缩包中包含多个不同历史版本,这里我们选择解压Redis-x64-3.2.100到任意目录(路径不能含有中文)即可,可视化工具RedisDesktopManager也没有什么需要注意的地方,一路安装即可。

例:

配置内存空间与密码

使用管理员权限对配置文件进行修改,添加最大内存和密码两项设置,密码自定义,内存大小按自己电脑的内存大小适当配置即可。为了示范这里我配置的是比较小的内存268435456字节(即256M内存)和以“123456”作为密码

例:

启运服务端与客户端

配置好环境变量后便可启动服务端,将命令行切换到上图所示的redis解压目录,或配置好环境变量后,执行如下命令,注意带上配置文件作为文件参数启动redis服务.(如果没带上配置文件,也没关系,服务端会自动使用默认的配置文件)
启动后可以发现redis的服务处于运行状态,监听在端口6379

例:

不要关闭redis服务端,在新打开的命令行窗口中进入redis的解压目录,或配置好环境变量后,使用如下命令启动redis客户端,这时命令行窗口已进入redis命令模式,输入密码进行登录后,ping一下自己,收到PONG的响应!(和客户端进行打招呼)

例:

第二节:Redis数据基本操作

redis的操作命令有非常多,这里不一一列举,更多操作命令和释义可以点击此处参考官方文档
以下将列举了键值对和其它数据类型的一些常用操作命令。

常用字符串操作

命令 说明
set key value 设置键值
setex key 20 bill 键值20秒后过期
mset key 60 key2 male 一次性存储多个键值
get key 不存在则返回null
mget key key2 一次性拿取多个键值
incr/decr key 将key的值加减1
incrby/decrby key 20 将age加减20
append key something 向原有value追加内容
strlen key 获取值长度

例:

常用key键操作

命令 说明
keys * 显示所有键,慎用,数据量大时导致卡死
keys a* 显示所有以a开头的键
exists key key2 判断key和key2这两个键存在几个
type key 查看值的类型
del key key2 删除键
expire key 30 key键值30秒过期
ttl key 查看键值的过期时间
persist key 取消键的过期时间
rename key nickname 重命名键(这样做不安全,容易覆盖已有数据)
renamenx key nickname 确保不会覆盖其它键才重命名(nx=not exists,x后缀=exists)

例:

常用哈希hash操作

hash是将多个字段和值存储在一个键中,类似对象;

命令 说明
hset key field value 设置key对象的字段为value
hmset key field1 value1 field2 value2 一次性设置key对象的多个字段
hget key field 获取key的field字段的值
hmget key field1 field2 同时获取key的field1和field2的值
hgetall key 获取key的全部字段和值
hkeys key 获取key的全部字段
hvals key 获取key的全部字段值
hlen key 获取key中所有字段数
hexists key field 判断key中是否有field字段
hdel key field 删除key中的field字段
hdel key field1 field2 删除p2中的field1和field2字段
hstrlen key field key中的field的长度

例:

常用列表list操作

在redis中也称队列,可按下标获取元素,也可从头尾弹出或放入;

命令 说明
lpush key 2 从左侧向key列表追加元素2
rpush key 3 从右侧向key列表追加元素3
linsert key after 3 4 在key列表中3的后边追加元素4
lset key 1 200 设置key列表中的第1个元素为200(下标从0开始)
lrange key 0 3 查看key列表中下标[0到3]的元素
lrange key 0 -1 从头看到尾
lpop key 从列表左侧弹出一个值
rpop key 从列表右侧弹出一个值
ltrim key 0 1 修剪掉key下标[0,1]以外的元素
llen key key列表元素个数
lindex key 0 获取key中下标0的元素

例:

常用集合set操作

无序元素集,经常用于求交集、并集、差集等;

命令 说明
sadd key 1 2 3 4 向集合key中添加元素1,2,3,4
smembers key 查看集合key中的元素
scard key 查询集合元素个数
sinter key key2 求key和key2的交集
sdiff key key2 求key相比key2的差集(mset有而mset2无的部分)
sunion key key2 求key和key2的并集
sismember key 3 判断3是否是key中的元素

例:

常用有序集合zset操作

可按权重对元素进行排列;

命令 说明
zadd key score member score member ... 添加多个值及相应权重
zrange key 0 -1 返回第一个到最后一个之间所有的元素,按权重升序排列
zcard key 查看元素个数
zcount key6 10 权重6-10之间的元素个数
zscore key member... 查看某元素的权重
zadd key [NX/XX] [CH] [INCR] score member... 添加/修改多个值元素的权重

例:

第三节:redis的管理操作

本节主要是Redis中常见的一引起非数据操作,包括启动服务、启动客户端、查看客户端命令帮助、数据库切换、状态监视等。第一节已经列举了启动服务和客户端的命令

# 启动redis服务并指定配置文件
redis-server.exe redis.windows.conf

# 启动客户端
redis-cli.exe

查看服务端状态

redis-cli --stat -a 123456

例:

结果解析:共有6个键,占用内存693.95K,有2个客户端连接(如果有python端也会算上)

客户端操作

# 查看客户端帮助
redis-cli --help

# 使用密码访问远程redis
redis-cli -h 127.0.0.1 -p 6379 -a 123456

# 查看连接类命令
help @connection

# 查看服务端相关命令
help @server

# 监视服务端收到的信息
monitor

例:客户端、服务端都罗列出了所有相关命令和摘要

例:监视效果如图,当其它客户端访问redis时,所有操作都会被monitor自动记录

数据库操作

# 切换数据库(共提供16个数据库)
select 15

# 清空当前库数据(谨慎使用)
flushdb

# 清空所有数据库(谨慎使用)
flushall

允许远程连接

  • 配置文件位置
    Linux下:/etc/redis/redis.conf
    Windows下:安装文件夹/redis.windows.conf
sudo gedit /etc/redis/redis.conf
  • 修改配置文件
    1、注释掉bind 127.0.0.1,取消和本机的绑定
    2、修改protected-mode yes为protected-mode no,取消保护模式
    3、解注释requirepass foobared,将密码修改为自定义的密码如requirepass 123456
    注意,关闭或配置防火墙,允许远程访问Redis:
sudo systemctl stop firewalld

# 连接远程
redis-cli -h 192.168.23.181 -p 6379 -a 123456

www.htsjk.Com true http://www.htsjk.com/redis/31186.html NewsArticle 第六章:redis(前篇),第六章redis 文章目录 第一节:redis的简介和安装 ==redis支持的数据类型== ==下载地址和参考手册== ==安装redis== ==配置内存空间与密码== ==启运服务端与客户端== 第...
相关文章
    暂无相关文章
评论暂时关闭