做数码相的网站源码网站
- 作者: 五速梦信息网
- 时间: 2026年04月18日 10:00
当前位置: 首页 > news >正文
做数码相的网站,源码网站,比较好的购物网站,wordpress仿站步骤黑马reids基础篇 文章目录 黑马reids基础篇一.初始Redis1.1SQL 和 NoSql的区别1.1.1结构化和非结构化1.1.2关联和非关联1.1.3查询方式1.1.4 事务1.1.5总结 1.2 认识Redis1.3 Redis安装启动默认启动#xff1a;后台启动#xff1a;开机自启 1.4 Redis客户端1.4.1.Redis命令行客…黑马reids基础篇 文章目录 黑马reids基础篇一.初始Redis1.1SQL 和 NoSql的区别1.1.1结构化和非结构化1.1.2关联和非关联1.1.3查询方式1.1.4 事务1.1.5总结 1.2 认识Redis1.3 Redis安装启动默认启动后台启动开机自启 1.4 Redis客户端1.4.1.Redis命令行客户端1.4.2.图形化桌面客户端 二.Redis命令0.通用命令1.String2.Key的层级格式3.Hash4.List5.Set6.SortedSet 一.初始Redis 1.1SQL 和 NoSql的区别 1.1.1结构化和非结构化 (1) SQL关系性数据库 传统关系型数据库是结构化数据每一张表都有严格的约束信息字段名、字段数据类型、字段约束等等信息插入的数据必须遵守这些约束 (2) NoSql数据库 NoSql对数据库格式没有严格约束往往形式松散自由。 可以是key-value,可以是文档或者图格式 1.1.2关联和非关联 (1) 关系型数据库 (2) 非关系型数据库 { id: 1, name: 张三, orders: [{id: 1,item: {id: 10, title: 荣耀6, price: 4999}},{id: 2,item: {id: 20, title: 小米11, price: 3999}} ] }1.1.3查询方式 1.1.4 事务 传统关系型数据库能满足事务ACID的原则 而非关系型数据库往往不支持事务或者不能严格保证ACID的特性只能实现基本的一致性。 1.1.5总结 1.2 认识Redis 特征 键值key-value型value支持多种不同数据结构功能丰富单线程每个命令具备原子性低延迟速度快基于内存、IO多路复用、良好的编码。支持数据持久化(定期将内存搬运到磁盘)支持主从集群、分片集群数据拆分可以做读写分离大大提高效率支持多语言客户端 Redis的官方网站地址RedisRedis Redis 1.3 Redis安装启动 Redis是基于C编写所以需要先安装Redis所需的gcc依赖 yum install -y gcc 如果有了就跳过 安装包上传到usr/local/src tar -zxvf redis-6.2.6.tar.gz 1cd到redis的目录 cd redis-6.2.6/ 1编译和运行 make make install 1默认启动 需要一直挂着页面 redis-server后台启动 前提是必须修改配置文件(/usr/local/src/redis-6.2.6/redis.conf) (1) 先备份一份 cp redis.conf redis.conf.bak(2) 修改 vi redis.confeg:修改密码为1234 (3) 运行 cd /usr/local/src/redis-6.2.6 redis-server redis.conf 12(4) 查看是否启动 ps -ef | grep redis 1(5) 停止redis -9:强制但是不安全 kill -9 进程号 1开机自启 (1) 新建系统服务文件 vi /etc/systemd/system/redis.service 1内容 [Unit] Descriptionredis-server Afternetwork.target[Service] Typeforking ExecStart/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf PrivateTmptrue[Install] WantedBymulti-user.target 1234567891011(2) 重新加载系统服务 systemctl daemon-reload 1(3)启动 systemctl start redis 1(4)查看状态 systemctl status redis 1(5) 设置开机自启 systemctl enable redis 11.4 Redis客户端 安装完成Redis我们就可以操作Redis实现数据的CRUD了。这需要用到Redis客户端包括 命令行客户端图形化桌面客户端编程客户端 1.4.1.Redis命令行客户端 Redis安装完成后就自带了命令行客户端redis-cli使用方式如下 redis-cli [options] [commonds]redis-cli -h 192.168.200.131 -p 6379 -a 1234 其中常见的options有 -h 127.0.0.1指定要连接的redis节点的IP地址默认是127.0.0.1-p 6379指定要连接的redis节点的端口默认是6379-a 123321指定redis的访问密码 其中的commonds就是Redis的操作命令例如 ping与redis服务端做心跳测试服务端正常会返回pong 不指定commond时会进入redis-cli的交互控制台 也可以先不写密码后面来补充 1.4.2.图形化桌面客户端 GitHub上的大神编写了Redis的图形化桌面客户端地址https://github.com/uglide/RedisDesktopManager 不过该仓库提供的是RedisDesktopManager的源码并未提供windows安装包。 在下面这个仓库可以找到安装包https://github.com/lework/RedisDesktopManager-Windows/releases resp.exe 二.Redis命令 0.通用命令 help generic 查看所有的通用命令 生产过程中不建议用keys是因为它是单线程的而这个行为是耗时的会被阻塞很久耽误事情。 centos7_01_192.168.120.90:0mset k1 v1 k2 v2 k3 v3 OK centos7_01_192.168.120.90:0keys *
k2
k1
k3#使用del centos7_01_192.168.120.90:0del k1 k2 k3 k4 3 centos7_01_192.168.120.90:0keys *centos7_01_192.168.120.90:0mset name v1 OK centos7_01_192.168.120.90:0keys *
name#使用exists centos7_01_192.168.120.90:0exists name 1 centos7_01_192.168.120.90:0exists age 0#使用expire和ttl centos7_01_192.168.120.90:0expire name 20 1 centos7_01_192.168.120.90:0TTL name 15 centos7_01_192.168.120.90:0TTL name 14 centos7_01_192.168.120.90:0TTL name 9 centos7_01_192.168.120.90:0TTL name 4 centos7_01_192.168.120.90:0TTL name 2 centos7_01_192.168.120.90:0TTL name 1 centos7_01_192.168.120.90:0TTL name 0 centos7_01_192.168.120.90:0TTL name -2 centos7_01_192.168.120.90:0TTL name -2 centos7_01_192.168.120.90:0TTL name -2 centos7_01_192.168.120.90:0TTL name -2 centos7_01_192.168.120.90:0TTL name -2
-2表示已经被删了
centos7_01_192.168.120.90:0keys * centos7_01_192.168.120.90:0#没有用expire设置有效期那么-1表示的是永久有效 centos7_01_192.168.120.90:0set name Kevin OK centos7_01_192.168.120.90:0ttl name -1 centos7_01_192.168.120.90:0expire设置存活周期ttl查看剩余时间不设置expire的话ttl为-1 1.String #set 单个添加 值会被覆盖所以是修改 centos7_01_192.168.120.90:0set name Rose OK centos7_01_192.168.120.90:0get name Rose centos7_01_192.168.120.90:0set name Jack OK centos7_01_192.168.120.90:0get name Jack#mset 批量添加 centos7_01_192.168.120.90:0MSET k1 v1 k2 v2 k3 v3 OK centos7_01_192.168.120.90:0keys *
name
k2
k1
k3centos7_01_192.168.120.90:0MGET name k1 k2 k3
Jack
v1
v2
v3#INCR centos7_01_192.168.120.90:0set age 18 OK centos7_01_192.168.120.90:0keys *
k1
k2
age
k3
namecentos7_01_192.168.120.90:0INCR age 19 centos7_01_192.168.120.90:0get age 19 centos7_01_192.168.120.90:0INCR age 20 centos7_01_192.168.120.90:0get age 20#INCRBY 设置每次增长多少 #设置为负数就是自减了 centos7_01_192.168.120.90:0INCRBY age 2 22 centos7_01_192.168.120.90:0INCRBY age 2 24 centos7_01_192.168.120.90:0INCRBY age 2 26 centos7_01_192.168.120.90:0get age 26 centos7_01_192.168.120.90:0INCRBY age -3 23 centos7_01_192.168.120.90:0INCRBY age -3 20 centos7_01_192.168.120.90:0get age 20#setnx centos7_01_192.168.120.90:0setnx name lli 0 centos7_01_192.168.120.90:0get name Jack centos7_01_192.168.120.90:0setnx name1 kevin 1 centos7_01_192.168.120.90:0get name Jack centos7_01_192.168.120.90:0get name1 kevin #set和nx是组合的可以分开可以合起来 centos7_01_192.168.120.90:0set name lucy nx null centos7_01_192.168.120.90:0get name Jack#setex set和expire的组合 添加并设置有效期 centos7_01_192.168.120.90:0setex name 10 jack OK centos7_01_192.168.120.90:0ttl name 6 centos7_01_192.168.120.90:0ttl name 3 centos7_01_192.168.120.90:0ttl name 2 centos7_01_192.168.120.90:0ttl name 1 centos7_01_192.168.120.90:0ttl name 0 centos7_01_192.168.120.90:0ttl name -2 centos7_01_192.168.120.90:0get name null#set和ex分开的 centos7_01_192.168.120.90:0set name Jack ex 10 OK centos7_01_192.168.120.90:0get name Jack centos7_01_192.168.120.90:0ttl name 4 centos7_01_192.168.120.90:0ttl name 3 centos7_01_192.168.120.90:0ttl name -2 centos7_01_192.168.120.90:0get name null2.Key的层级格式 推荐用 项目名:业务名:类型:id 这种形式去存储 如果Value是一个Java对象例如一个User对象则可以将对象序列化为JSON字符串后存储 centos7_01_192.168.120.90:0set heima:user:1 {id:1,name: Jack,age: 21} OK centos7_01_192.168.120.90:0set heima:user:2 {id:2,name: Rose,age: 20} OK centos7_01_192.168.120.90:0set heima:product:1 {id:1, name: 小米11, price: 4999} OK centos7_01_192.168.120.90:0set heima:product:2 {id:2, name: iphone, price: 9809} OK centos7_01_192.168.120.90:0keys *
heima:product:2
age
k2
k1
heima:product:1
heima:user:2
k3
name1
heima:user:1一旦我们向redis采用这样的方式存储那么在可视化界面中redis会以层级结构来进行存储形成类似于这样的结构更加方便Redis获取数据避免了名字冲突 3.Hash 本身Redis就是一个key-value的结构而hash的value还是一个key-value的结构 #HSET 用法和set一样的和string不同的是不止要给key还要给field centos7_01_192.168.120.90:0HSET heima:user:3 name Lucy 1 centos7_01_192.168.120.90:0HSET heima:user:3 age 21 1 centos7_01_192.168.120.90:0HSET heima:user:3 age 17 0#HMSET centos7_01_192.168.120.90:0HMSET heima:user:4 name hanmeimei OK centos7_01_192.168.120.90:0HMSET hiema:user:4 name lilei age 20 sex man OK #HMGET centos7_01_192.168.120.90:0HMGET hiema:user:4 name age sex
lilei
20
man #HGETALL centos7_01_192.168.120.90:0HGETALL hiema:user:4
name
lilei
age
20
sex
man#HKEYS HVALS centos7_01_192.168.120.90:0HKEYS hiema:user:4
name
age
sex centos7_01_192.168.120.90:0HVALS hiema:user:4
lilei
20
man #HINCRBY centos7_01_192.168.120.90:0HINCRBY hiema:user:4 age 2 22 #HSET和nx 原来有的改不了原来没的创建 centos7_01_192.168.120.90:0HSETNX hiema:user:4 sex women 0 centos7_01_192.168.120.90:0HSETNX hiema:user:3 sex women 1 centos7_01_192.168.120.90:0HGETALL hiema:user:3
sex
women4.List BLPOP 是阻塞等待当前进程阻塞等待另外一个进程输入结果 #LPUSH centos7_01_192.168.120.90:0LPUSH users 1 2 3 3 #RPUSH centos7_01_192.168.120.90:0RPUSH users 456 4 centos7_01_192.168.120.90:0RPUSH users 4 5 6 7 #LPOP 直接移除 centos7_01_192.168.120.90:0LPOP users 1
3#RPOP centos7_01_192.168.120.90:0RPOP users 1
6#LRANGE centos7_01_192.168.120.90:0LRANGE users 1 2
1
456#BLPOP 有的话弹出没有的话等待指定时间这里是100秒 centos7_01_192.168.120.90:0BLPOP user2 100
user2
Jack5.Set 单个集合的操作 #SADD添加 centos7_01_192.168.120.90:0SADD s1 a b c 3 #SMEMBERS 查看所有 centos7_01_192.168.120.90:0SMEMBERS s1
b
c
a
SREM 删除
centos7_01_192.168.120.90:0SREM s1 a 1 #SISMEMBER 是否存在 centos7_01_192.168.120.90:0SISMEMBER s1 a 0 centos7_01_192.168.120.90:0SISMEMBER s1 b 1 #SCARD 计数 centos7_01_192.168.120.90:0SCARD s1 2centos7_01_192.168.120.90:0sadd zs lisi wangwu zhaoliu 3 centos7_01_192.168.120.90:0sadd ls wangwu mazi ergou 3 centos7_01_192.168.120.90:0sinter zs ls
wangwucentos7_01_192.168.120.90:0sdiff zs ls
lisi
zhaoliucentos7_01_192.168.120.90:0sunion zs ls
wangwu
ergou
lisi
zhaoliu
mazicentos7_01_192.168.120.90:0sismember zs lisi 1 centos7_01_192.168.120.90:0sismember ls zhangsan 0 centos7_01_192.168.120.90:0sismember ls zhangsan 0 centos7_01_192.168.120.90:0srem zs lisi 16.SortedSet 每个元素都带上分数所以才能实现排序 #ZADD 添加 centos7_01_192.168.120.90:0zadd stus 85 jack 89 Lucy 82 Rose 95 Tom 78 Jerry 92 Amy 76 Miles 7 #ZREM 删除 centos7_01_192.168.120.90:0zrem stus Tom 1 #ZSCORE centos7_01_192.168.120.90:0zscore stus Amy 92 #ZRANK 这个是从0开始数的排名 升序 centos7_01_192.168.120.90:0zrank stus Rose 2 #ZREVRANK 降序 centos7_01_192.168.120.90:0zrevrank stus Rose 3 #ZCOUNT 0-80分 centos7_01_192.168.120.90:0zcount stus 0 80 2 #ZINCRBY 自增一个加分操作 centos7_01_192.168.120.90:0zincrby stus 2 Amy 94 #这是后三名因为原来的是按照成绩升序排的 centos7_01_192.168.120.90:0zrange stus 0 2
Miles
Jerry
Rose #这是前三名 centos7_01_192.168.120.90:0zrevrange stus 0 2
Amy
Lucy
jack #80以下的人 centos7_01_192.168.120.90:0zrangebyscore stus 0 80
Miles
Jerry
- 上一篇: 做数码测评的网站20元备案域名
- 下一篇: 做思维导图的资源网站wordpress采集中文
相关文章
-
做数码测评的网站20元备案域名
做数码测评的网站20元备案域名
- 技术栈
- 2026年04月18日
-
做数据新闻的网站音频文件放到网站空间里生成链接怎么做
做数据新闻的网站音频文件放到网站空间里生成链接怎么做
- 技术栈
- 2026年04月18日
-
做属于公司的网站有什么好处asp网站做消息提醒功能
做属于公司的网站有什么好处asp网站做消息提醒功能
- 技术栈
- 2026年04月18日
-
做思维导图的资源网站wordpress采集中文
做思维导图的资源网站wordpress采集中文
- 技术栈
- 2026年04月18日
-
做思维导图好看的网站做网站的职业规划
做思维导图好看的网站做网站的职业规划
- 技术栈
- 2026年04月18日
-
做饲料的专业网站视频发布网站有哪些内容
做饲料的专业网站视频发布网站有哪些内容
- 技术栈
- 2026年04月18日
