redis 简介常用命令

redis 简介常用命令

Redis
泛指非关系型的数据库,不支持SQL语句
存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是key-value的形式NoSQL的世界中没有一种通用的语言,
每种nosql数据库都有自己的api和语法,以及擅长的业务场景,
NoSQL中的产品种类相当多:
Mongodb
Redis
Hbase hadoop (大数据使用的数据库)
Cassandra hadoop (大数据使用的数据库)

 NoSQL和SQL的比较 适用场景不同:sql数据库适合用于关系特别复杂的数据查询场景,nosql反之"事务"特性的支持:sql对事务的支持非常完善,而nosql基本不支持事务 两者在不断地取长补短,呈现融合趋势 Redis简介 Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 

从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。Redis是NoSQL技术
阵营中的一员,它通过多种键值数据类型来适应不同场景下的存储需求,借助一些高层级的接口使用其可以胜任,如缓存、队列系统的不同角色

 Redis的特性 是内存型数据库 key-value的存储形式,key的类型是字符串值的类型一般分为5种数据类型 string hash list set() # 普通集合 zeset() # 有序集合 Redis的优势 Redis的应用场景 缓存 Redis的配置 ***** bind port slaveof #奴隶 dir dbfilename 键命令(所有的数据类型通用) keys * del key1 key2 expire key 10 操作数据 

选择x号仓库
select x
string
set name zhangsan
get name
“zhangsan”
setex name 10 lisi # 既能保存又可以设置有效期,单位为秒,意味10s之内可以访问到
mset name1 zhangsan name2 lisi name3 wangwu
mget name1 name2 name3
“zhangsan”
“lisi”
“wangwu”
append name1 itcast
get name1
“zhangsanitcast”

 del name2 keys * # 获取所有的key hash hset xiaoming height 175 hset xiaoming weight 65kg hget xiaoming height/weight 175/60kg hmset xiaoming name itcast age 11 hkeys xiaoming // 得到他下面的键 hvals xiaoming // 得到他下面键所对应的值 hdel xiaoming height list lpush a1 a b c d # 这个l代表左边 lrange a1 0 -1 # 这个l代表list 0-2 这个值可以是0-10将所有的数据都取出来.没有的自动过滤掉,不会报错 "d" "c" "b" "a" rpush a2 1 2 3 4 5 6 lrange a2 0 -1 "1" "2" "3" "4" 

“5”
“6”

 linsert a2 before(after) 3 66 lset a2 2 bbb lset a2 5 bbb lrem a2 1 bbb # 只移除一次 set # 不允许修改 sadd a3 java python php smembers a3 "java" "python" "php" "C#" srem a3 java smembers a3 "python" "php" "C#" zset # 不允许修改 zadd a4 4 lisi 7 xiaomei 3 wangwu 6 lili 8 xiaohua zrange a4 0 -1 "wangwu" "lisi" "lili" "xiaomei" "xiaohua" zrangebyscore a4 6 8 "lili" "xiaomei" "xiaohua" zscore a4 lili "6" zrem a4 xiaomei zrange a4 0 -1 "wangwu" "lisi" "lili" "xiaohua" zremrangebyscore a4 6 8 zrange a4 0 -1 "wangwu" "lisi" redis主从配置 优点 读写分离 数据备份 

减轻主redis的访问量

 redis的集群: 集群的好处: 负载均衡 如何配置: 1、创建了6个配置文件,port一定不同,启动6个redis的服务 port 7003 bind 172.16.179.131 daemonize yes pidfile 7003.pid cluster-enabled yes cluster-config-file 7003_node.conf cluster-node-timeout 15000 appendonly yes 2、将6个配置文件,使用redis-server 进行启动 3、将6个独立的redis-server服务给他变为一个群体 redis-trib.rb create --replicas 1 172.16.179.130:7000 172.16.179.130:7001 172.16.179.130:7002 

172.16.179.131:7003 172.16.179.131:7004 172.16.179.131:7005
4、问题
redis-trib.rb 默认是没有这个命令
sudo cp /usr/share/doc/redis-tools/examples/redis-trib.rb /usr/local/bin/
redis-trib.rb 内部是使用ruby语言来实现,所以就需要ubuntu系统能够支持ruby的环境
sudo apt-get install ruby
安装完ruby之后,看看ruby的版本 ruby -v
如果是2.2以下的话,修改ubuntu下的source.list
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/sudo gem install redis
使用python代码对集群进行操作

Read more

前端防范 XSS(跨站脚本攻击)

目录 一、防范措施 1.layui util  核心转义的特殊字符 示例 2.js-xss.js库 安装 1. Node.js 环境(npm/yarn) 2. 浏览器环境 核心 API 基础使用 1. 基础过滤(默认规则) 2. 自定义过滤规则 (1)允许特定标签 (2)允许特定属性 (3)自定义标签处理 (4)自定义属性处理 (5)转义特定字符 常见场景示例 1. 过滤用户输入的评论内容 2. 允许特定富文本标签(如富文本编辑器内容) 注意事项 更多配置 XSS(跨站脚本攻击)是一种常见的网络攻击手段,它允许攻击者将恶意脚本注入到其他用户的浏览器中。

详细教程:如何从前端查看调用接口、传参及返回结果(附带图片案例)

详细教程:如何从前端查看调用接口、传参及返回结果(附带图片案例)

目录 1. 打开浏览器开发者工具 2. 使用 Network 面板 3. 查看具体的API请求 a. Headers b. Payload c. Response d. Preview e. Timing 4. 实际操作步骤 5. 常见问题及解决方法 a. 无法看到API请求 b. 请求失败 c. 跨域问题(CORS) 作为一名后端工程师,理解前端如何调用接口、传递参数以及接收返回值是非常重要的。下面将详细介绍如何通过浏览器开发者工具(F12)查看和分析这些信息,并附带图片案例帮助你更好地理解。 1. 打开浏览器开发者工具 按下 F12 或右键点击页面选择“检查”可以打开浏览器的开发者工具。常用的浏览器如Chrome、Firefox等都内置了开发者工具。下面是我选择我的一篇文章,打开开发者工具进行演示。 2. 使用

Cursor+Codex隐藏技巧:用截图秒修前端Bug的保姆级教程(React/Chakra UI案例)

Cursor+Codex隐藏技巧:用截图秒修前端Bug的保姆级教程(React/Chakra UI案例) 前端开发中最令人头疼的莫过于那些难以定位的UI问题——元素错位、样式冲突、响应式失效...传统调试方式往往需要反复修改代码、刷新页面、检查元素。现在,通过Cursor编辑器集成的Codex功能,你可以直接用截图交互快速定位和修复这些问题。本文将带你从零开始,掌握这套革命性的调试工作流。 1. 环境准备与基础配置 在开始之前,确保你已经具备以下环境: * Cursor编辑器最新版(v2.5+) * Node.js 18.x及以上版本 * React 18项目(本文以Chakra UI 2.x为例) 首先在Cursor中安装Codex插件: 1. 点击左侧扩展图标 2. 搜索"Codex"并安装 3. 登录你的OpenAI账户(需要ChatGPT Plus订阅) 关键配置项: // 在项目根目录创建.