ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

9.Redis数据库部署和操作

2022-04-16 19:00:43  阅读:157  来源: 互联网

标签:xiaoming hash 部署 数据库 xiaohong Redis 键值 s1


Redis

介绍

NoSQL类型数据库之一,内存运行,效率极高,支持分布式,理论上可以无限拓展数据库,支持各种语言的API,可安装在各种平台

关系型数据库:MySQL、SQLServer、Oracle
非关系型数据库:NoSQL、Redis(key-value)

  • 特点:

    c/s通信模式(Client and Server)
    单进程单线程(list、set、hash……)
    支持很多数据类型
    高并发读写
    支持lua脚本
    支持数据持久化(内存数据保存在硬盘)
    支持数据备份
    读写极快(每秒11w次读,8w1k次写)

原子性操作,要么成功要么失败,即要么全做要么全不做,不会像MySQL做到一半报个错

部署与操作

部署

  • 在phpstudy的软件管理中下载Redis服务端和客户端,在客户端中添加服务端Host,即127.0.0.1,默认6379端口
  • 在phpstudy的Extensions中打开Redis服务端,可以看到其中的命令文件,在其中使用cmd进行操作
#  连接数据库
本机:redis-cli -h 127.0.0.1
远程:redis-cli -h [远程数据库的地址] -p 6379

# 选择哪个数据库
select [数字]

# 退出
quit

如果要让别人远程连接,除了防火墙端口放行,还要绑定IP

数据库操作

key-value:键值对,键不能重复

# 清空所有数据(基本设置值)
flushall

# 添加键值对
set name1 yingge1

# 获得数据
get name1

# 设置5s后失效的键值对
set name2 yingge2 EX 5
setex name2 5 yingge2

# 获得生命周期
ttl name2

# 同时设置多个键值对
mset key1 value11 key2 value22

# 同时获得多个键值对
mget key1 key2

# 在name1(键)的值后面增加zj11(拼接效果)
append name1 zj11

键命令

keys [正则表达式]

# 取出所有的键
keys *

# 取出所有以ke开头的键
keys ke*

# 取出name0-3的键
keys name[0-3]

# 判断name2键是否存在,1为存在,2为不存在
exists name2

# 删除某一个键,1为成功,2为失败
del name3

# 设置键几秒过期(修改键的生命周期)
expire name2 5

hash类型

# 设置hash类型
hset xiaoming height 180
hset xiaoming weight 60kg
hset xiaoming age 18

# 获得hash值
hget xiaoming height
hget xiaoming weight
hget xiaoming age

# 获得hash下所有的键值对,一行行输出
hgetall xiaoming

# 同时设置多个值的hash(有就修改无就添加)
hmset xiaohong id 3 weight 220kg height 190

# 获得hash下所有的key
hkeys xiaohong

# 查看里面有多少值
hlen xiaohong

# 查看hash下所有的value
hvals xiaohong

# 提取hash特定的key的值
hmget xiaohong id weight

# 删除hash下特定的键值对
hdel xiaohong id height

# 彻底删除某个hash值
del xiaohong

list类型

push是从下往上累加(类似栈堆叠),其他运算从上往下进行操作和计数

# 从左往右依次插入数据,最下面数据为a0,第0个数据为a9
lpush list1 a1 a2 a3 a4 a5 a6 a7 a8 a9

# 从右往左依次插入数据,最下面数据为a9,第0个数据为a1
rpush list2 a1 a2 a3 a4 a5 a6 a7 a8 a9

# 从上往下取4个
lrange list1 0 3

# 从上往下取出所有内容
lrange list1 0 -1

# 取出从上往下的第3个并且值修改为b3
lset list1 2 b3

# 删除所有的a3
lrem [列表] [计数] [值]
如果计数>0,从头到尾搜索值并且删除对应的个数
如果计数<0,从尾到头搜索值并且删除对应的个数
如果计数=0,就删除所有的对应的值
lrem list2 0 a3

# 查看列表中第几个元素
lindex list3 [数字]

# 查看列表中有多少个值
llen list3

0为计数第一个数据,是最上面的数据,也是头

set类型

无序集合,元素唯一,不重复,没有修改操作

# 新建一个set值
sadd s1 member1 member2 member3

# 获取s1里所有值
smembers s1

# 获取s1里有多少个元素
scard s1

# 删除set中的值
srem s1 member2

# 取出交集
sinter s1 s2

# 取并集
sunion s1 s2

# 取差集
sdiff s1 s2

zset类型

  • 有序集合,元素唯一,不重复,没有修改操作
  • 每个元素关联一个score,也就是权重,从小到大权重从上到下排序
# 添加元素和对应的权重
zadd zs1 4 xiaoming 5 xiaohong 2 xiaogang

# 查看元素排序
zrange zs1 0 -1

# 取权重4-5之间的值(闭区间)
zrangebyscore zs1 4 5

# 删除zset中的值
zrem zs1 xiaogang

删除选定元素而不是权重,权重可以一样但是元素不会一样;权重一样则按照插入顺序从上到下排序

标签:xiaoming,hash,部署,数据库,xiaohong,Redis,键值,s1
来源: https://www.cnblogs.com/icui4cu/p/16153866.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有