您的位置:首页 > 科技 > IT业 > 域名权重查询工具_国外设计网站behance入口网页版_电商网站公司_最近的新闻热点

域名权重查询工具_国外设计网站behance入口网页版_电商网站公司_最近的新闻热点

2025/1/9 20:04:43 来源:https://blog.csdn.net/qq_40652101/article/details/144961173  浏览:    关键词:域名权重查询工具_国外设计网站behance入口网页版_电商网站公司_最近的新闻热点
域名权重查询工具_国外设计网站behance入口网页版_电商网站公司_最近的新闻热点

目录

  • 一、mysql数据库
    • 1.1 关系型与非关系型数据库
    • 1.2、对于MySQL数据库的操作
      • 1.2.1、库的操作
      • 1.2.2、 表的操作
      • 1.2.3、表中数据的操作——增
      • 1.2.4、表中数据的操作——查
      • 1.2.5、表中数据的操作——改
      • 1.2.6、表中数据的操作——删
      • 1.2.7、WHERE条件
        • 1.2.7.1、比较运算符
        • 1.2.7.2、逻辑运算符
        • 1.2.7.3、order by 排序 升序/降序
        • 1.2.7.4、limit 取值
        • 1.2.7.5、 like 模糊查询
      • 1.2.8、 聚合函数
    • 1.3、Python操作MySQL
      • 1.3.1、安装及导入
      • 1.3.2、基本使用
  • 二、Mongodb数据库
    • 2.1 MongoDB下载及安装
    • 2.2、MongoDB概念解析
    • 2.3、连接Mongodb
    • 2.4、对于库的操作
    • 2.5、对于数据的操作
      • 2.5.1、增
      • 2.5.2、查
      • 2.5.3、改
      • 2.5.4、删
    • 2.6、数据库删除与退出
    • 2.7、Python操作MongoDB
      • 2.7.1、导入 pymongo
      • 2.7.2、连接服务器
      • 2.7.3、连接数据库
      • 2.7.4、数据相关操作
  • 三、redis数据库
    • 3.1 Redis 简介
    • 3.2、 Redis下载、安装及启动
    • 3.3、Redis的数据类型
      • 3.3.1、Redis数据类型一览
      • 3.3.2、Redis数据类型——String
      • 3.3.2、Redis数据类型——hash
      • 3.3.3、Redis数据类型——列表 list
      • 3.3.4、Redis数据类型——集合 set
      • 3.3.5、Redis数据类型——有序集合 zset
    • 3.4、Redis 安全
    • 3.5、Redis 数据备份与恢复
    • 3.6、Python操作redis

一、mysql数据库

1.1 关系型与非关系型数据库

+ 关系型数据库的优势:1. 复杂查询可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询2. 事务支持使得对于安全性能很高的数据访问要求得以实现+ 非关系型数据库的优势:1. 性能NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系。不需要经过SQL层的解析,所以性能很高2. 可扩展性同样也是也因为基于键值对,数据之间没有偶尔性,所以非常容易水平扩展

1.2、对于MySQL数据库的操作

1.2.1、库的操作

+ 查看所有的数据库show databases;+ 选择数据库use 库名+ 查看当前库下有哪些表show tables;+ 查看当前所在库select database();+ 创建数据库create database 库名;+ 查看创建库信息show create database 库名;+ 删除库/表drop database 库名;drop table 表名;+ 创建库并设置字符编码create database lucky character set utf8;+ 查看表结构desc 表名;+ 查看创建表语句show create table lucky;+ 撤销当前命令\c+ 数据库的退出+ \q+ exit+ quit+ 注意1. MySQL命令以英文的分号作为结束2. SQL命令不区分大小写3. 在进入到一个数据库中在进入到另外一个的时候 不需要退出数据库 而是使用use再次进行数据库的切换4. windows下表名库名不区分大小写 Linux下严格区分5. MySQL数据库的名称具有唯一性 每个库中的表的名称也具有唯一性(库名或者一个库中的表名不要出现相同的名称)6. 当在输入命令的时候输入完以后 添加分号不能执行命令 那么查看一下左侧是否存在引号没有闭合的情况

1.2.2、 表的操作

创建表有两种方案:
1. 用SQL语句创建表格create table student(sno int(10) primary key auto_increment,sname varchar(50) not null,sbirthday date not null,saddress varchar(255),sphone varchar(12),class_name varchar(50))数据类型:int 整数double小数varchar  字符串text 大文本约束条件:primary key 主键, 全表唯一值. 就像学号. 身份证号. 能够唯一的确定一条数据auto_increment 主键自增.not null  不可以为空.null  可以为空default 设置默认值2. 用Navicat图形化工具来创建

1.2.3、表中数据的操作——增

1. 指定字段添加值insert into 表名(字段1,字段2....) values(1,2...)insert into user(sex,username) values(0,'lucky');2. 不指定字段添加值insert into 表名 values(1,2...)insert into user values(null,0,'lucky','我是lucky老师');3. 指定字段添加多个值insert into 表名(字段1,字段2....) values(1,2...),(1,2...)...insert into user(sex,username) values(1,'苍苍'),(0,'蒹葭');4. 不指定字段添加多个值insert into 表名 values(1,2...),(1,2...)...insert into user values(null,1,'xxx','xxx'),(null,0,'xxl','xxl');**注意事项:**
指定字段与不指定字段在添加值的时候 按照从左至右依次对应给值

1.2.4、表中数据的操作——查

1. 不指定字段的查询(不建议)select * from 表名2. 指定字段的数据查询(建议)select 字段名1,字段名2... from  表名select  username,userinfo from user;3. 对查询的字段起别名select username as u from user;select username  u from user;

1.2.5、表中数据的操作——改

1. 修改一个字段的值update 表名 set 字段名=;update user set username='帅气的lucky' where id = 3;2. 修改多个字段的值update 表名 set 字段名1=1,字段名2=2...;update user set sex=0,userinfo='xxx的个人简介' where id=7;3. 给字段的值在原有的基础上改变值update user set sex=sex+2;**注意:**
在进行数据的修改的时候 一定记得给定where条件  如果没有给定where条件 则修改的为整张表当前字段的值

1.2.6、表中数据的操作——删

**主体结构:**
delete from 表名 [where ...]**实例:**
delete from user; 删除user表中所有的数据**注意:**
删除 一定注意添加 where 条件   否则会删除整张表中的数据  并且auto_increment自增所记录的值不会改变  所以需要将自增归位truncate 表名; 清空表数据

1.2.7、WHERE条件

1.2.7.1、比较运算符
1. `>`将id大于5 的性别 更改为0 年龄改为20岁update user set sex=0,age=20 where id>5;2. `<`将id小于3 的性别 更改为0 年龄改为23岁update user set sex=0,age=23 where id<3;查看id小于4的 性别和用户名的字段数据select sex,username from user where id<4;3. `>=`删除 id大于等于6的数据delete from user where id>=6;4. `<=`查询年龄小于等于23的数据select * from user where age<=23;5. =查询性别为0的数据select * from user where sex=0;6. `!=/<>`查询 用户名不等于lucky的所有数据select * from user where username!='lucky';select * from user where username<>'lucky';
1.2.7.2、逻辑运算符
1. and 逻辑与 俩侧为真结果为真查询年龄在1823之间 不包括本身select * from user where age>18 and age<23;2. or 逻辑或运算 俩侧条件满足一侧就可以select * from user where age=10 or age=30;select * from user where age>=10 or age<=30;
1.2.7.3、order by 排序 升序/降序
   查询数据 按照年龄升序(默认)select * from user order by age;select * from user order by age asc;查询数据 按照年龄降序select * from user order by age desc;
1.2.7.4、limit 取值
limit x 取出x条数据
limit x,y 从x的位置取出y条数据取出3条数据
select * from user limit 3;取出年龄最大/最小的一条数据
select * from user order by age desc limit 1;
select * from user order by age limit 1;
1.2.7.5、 like 模糊查询
1.%字符‘ 查询以字符结尾的数据查询以三字为结束的username的数据select * from user where username like '%三';2. '字符%' 查询以字符开头的数据select * from user where username like '赵%';3. '%字符%' 查询包含字符的数据查询 userinfo中包含lucky的数据select * from user where userinfo like '%lucky%';

1.2.8、 聚合函数

1. count 统计个数
2. max 最大值
3. min 最小值
4. Sum 求和
5. avg 求平均数select count(*) as count,max(age),min(age),avg(age),sum(age) from user;

1.3、Python操作MySQL

1.3.1、安装及导入

**安装:**
pip install pymysql**导入:**
import pymysql

1.3.2、基本使用

# 链接mysql数据库
db = pymysql.connect(主机名,用户名,密码,数据库名)
db = pymysql.connect(host='localhost', user='root', password='123456', database='test')# 设置字符集
db.set_charset('utf8')# 创建游标对象
cursor = db.cursor()# 执行SQL语句
cursor.execute(sql语句)# 获取结果集
获取所有
cursor.fetchall()获取一条
cursor.fetchone()# 获取受影响的行数
cursor.rowcount# 事物
pymysql默认开启了事务处理 所以在添加数据的时候 需要commit 或者rollback# 实例:
try:sql = 'insert into user values(null,1,"曹操",100,"曹操第一奸雄","魏国")'print(sql)cursor.execute(sql)db.commit()
except:db.rollback()对于支持事务的数据库, 在Python数据库编程中,当游标建立之时,就自动开始了一个隐形的数据库事务。commit()方法游标的所有更新操作,rollback()方法回滚当前游标的所有操作。每一个方法都开始了一个新的事务。# 关闭数据库连接
db.close()

二、Mongodb数据库

2.1 MongoDB下载及安装

1、性能
BSON格式的编码和解码都是非常快速的。它使用了C风格的数据表现形式,这样在各种语言中都可以高效地使用。
NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。
MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。2、下载mongodb的版本,两点注意- 根据业界规则,偶数为稳定版,如1.6.X,奇数为开发版,如1.7.X- 32bit的mongodb最大只能存放2G的数据,64bit就没有限制3、去官网下载MongoDB的安装包, https://www.mongodb.com/try/download/community安装流程:安装方式选择custom,去掉勾选Install MongoDB Compass选项4、安装完成后将mongodb目录下的bin文件夹添加到环境变量

2.2、MongoDB概念解析

SQL术语/概念MongoDB术语/概念解释/说明
databasedatabase数据库
tablecollection数据库表/集合
rowdocument数据记录行/文档
columnfield数据字段/域
需要注意的是:
1. 文档中的键/值对是有序的。
2. 文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)3. MongoDB区分类型和大小写。
4. MongoDB的文档不能有重复的键。
5. 文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符。文档键命名规范:
- .和$有特别的意义,只有在特定环境下才能使用。
- 以下划线"_"开头的键是保留的(不是严格要求的)

2.3、连接Mongodb

1、cd mongo安装的目录/bin输入 mongod.exe  --dbpath=路径2、重新启动一个Windows的终端,cd mongo安装的目录/binmongo.exe   #此刻 进入到Mongodb数据库了

2.4、对于库的操作

1、查看所有的库show dbs2、选择数据库 (如果使用的数据库存在 则使用 不存在 则创建)use 库名3、查看当前所在的数据库db.getName()4、创建集合(也就是创建表)db.createCollection("集合名")注意:1. 在库里对于文档 集合的操作 统一使用db. (db代表当前的库)2. 严格区分大小写5、查看当前库下的所有集合show collections6、删除集合db.集合名.drop()

2.5、对于数据的操作

2.5.1、增

1、使用insert插入一条数据:db.集合名.insert(文档) 2、插入多条数据:db.集合名.insert([文档]) #注意 一定要加[] 否则可能只会把 第一条文档插入进去3、示例:db.user.insert({'name':'lisi', 'age': 20})db.user.insert([{'name':'lisi', 'age': 20},{'name': 'wangwu', 'age': 30}])4、插入新用法db.collection.insertOne():向指定集合中插入一条文档数据db.collection.insertMany():向指定集合中插入多条文档数据5、示例db.user.insertOne({'name':'lisi', 'age': 20})db.user.insertMany([{'name':'lisi', 'age': 20},{'name': 'wangwu', 'age': 30}])

2.5.2、查

1、find 查询所有db.集合名.find([条件],{key1:1[,[key2:1]]}) #查询所有的数据   代表 显示哪些字段名db.collection.find(query, {title: 1, by: 1}) // inclusion模式 指定返回的键,不返回其他键db.collection.find(query, {title: 0, by: 0}) // exclusion模式 指定不返回的键,返回其他键注意:1、两种模式不可混用(因为这样的话无法推断其他键是否应返回)2、_id 键默认返回,需要主动指定 _id:0 才会隐藏3、只能全1或全0,除了在inclusion模式时可以指定_id为01.1、示例db.collection.find(query, {_id:0, title: 1, by: 1}) // 正确db.user.find({}, {'name': 0})db.user.find({'age': 18}, {'name': 1})  # 只返回name字段db.user.find({'age': 18}, {'name': 0})  # 不返回name字段2、findOne()  查询一条db.集合名.findOne([条件],{key1:1[,[key2:1]]}) #查询一条数据  代表 显示哪些字段名db.user.findOne({}, {name:1})3、count 统计数据条数db.集合名.find([条件]).count()db.user.find({}).count()4、pretty()  展开来查看db.集合名.find([条件]).pretty()db.user.find({}).pretty()5、查询条件的操作符
| 符号          | 符号说明     | 实例                                    | 说明                    |
| :---------- | :------- | ------------------------------------- | --------------------- |
| $gt         | 大于       | db.user.find({age:{$gt:18}})          | 年龄大于18|
| $gte        | 大于等于     | db.user.find({age:{$gte:18}})         | 年龄大于等于18|
| $lt         | 小于       | db.user.find({age:{$lt:18}})          | 年龄小于18                |
| $lte        | 小于等于     | db.user.find({age:{$lte:18}})         | 年龄小于等于18              |
| {key:value} | 等于       | db.user.find({age:18})                | 年龄等于18                |
| //         | 模糊查询     | db.user.find({username://})          | 查询年龄中包含小字的文档          |
| /^/        |...作为开头 | db.user.find({username:/^/})         | 查询username中以小字作为开头的文档 |
| /值$/        |...作为结尾 | db.user.find({username:/小$/})         | 查询username中以小字作为结尾的文档 |
| $in         |...| db.user.find({age:{$in:[18,20,30]})   | 查询年龄在18,20,30的文档      |
| $nin        | 不在...| db.user.find({age:{$nin:[18,20,30]}}) | 查询年龄不在 1,20,30的文档     |
| $ne         | 不等于 !=   | db.user.find({age:{$ne:18}})          | 查询年龄不为18的文档           |6、AND 查询db.col.find({key1:value1, key2:value2}).pretty()db.集合名.find({条件一,条件二,,,})6.1、示例:    db.user.find({name:"张三",age:{$gt:10}}) #查询name为张三的 且 年龄 大于10岁的db.user.find({name:"张三",age:10})         #查询name为张三的 且 年龄为10岁的7、OR 查询db.集合名.find({$or:[{条件一},{条件二},,,]})7.1、示例:db.user.find({$or:[{name:"张三"},{name:"赵六"}]})   #查询name为张三 或者为赵六的所有数据8、LIMIT  取值db.集合名.find().limit(num)   #从第0个开始取几个db.user.find().limit(5)   #从0开始取5条数据9、skip 跳过几个db.集合名.find().skip(num) #跳过几条数据db.user.find().skip(2) #从第三条数据 取到最后10、limit  skip 配合使用db.集合名.find().skip().limit(num)db.user.find().skip(2).limit(2)  #从第三个开始 取2个11、SORT 排序在MongoDB中使用使用sort()方法对数据进行排序sort()方法可以通过参数指定排序的字段,并使用 1-1 来指定排序的方式其中 1 为升序排列,而-1是用于降序排列。db.集合名.find().sort({key:1|-1})  #升序或者降序db.user.find().sort({age:1})  #查询所有数据 按照年龄 升序db.user.find().sort({age:-1})  #查询所有数据 按照年龄 降序

2.5.3、改

1、更新操作符  `$set直接修改   $inc累加修改`db.集合名.update(条件,数据,{multi:true}) 更改db.user.update({name:"张三"},{$inc:{age:5}}) #修改name为张三的文档  将age在原有的基础上 加5db.user.update({name:"张三"},{$set:{age:5}}) #修改name为张三的文档  将age的值 修改为5db.user.update({name:"张三"},{$set:{age:5}}) #将name为张三的文档 的年龄 修改为 52、updateOne()  更新一条db.user.updateOne({'name':'lisi'}, {$inc:{'age':5}})3、updateMany(query,update) 更新多条db.user.updateMany({'name':'lisi'}, {$inc:{'age':5}})

2.5.4、删

1、主体结构db.集合名.remove(条件) #默认将所有都匹配到的数据进行删除db.集合名.remove(条件,1) #只删除 第一个匹配到的数据db.集合名.remove(条件,{justOne:true}) #只删除 第一个匹配到的数据1.1、示例b.user.remove({'age':{$gt: 30}})  # 删除年龄大于30的所有数据b.user.remove({'age':{$gt: 30}}, 1)  # 删除年龄大于30的一条数据db.col.remove({})  清空集合 "col" 的数据23.2 版本后还有以下几种语法可用于删除文档:(建议)deleteOne() 删除一条db.user.deleteOne({'age':{$gt: 0}})deleteMany() 删除多条db.user.deleteMany({'age':{$gt: 0}})

2.6、数据库删除与退出

1、数据库删除:db.dropDatabase()2、数据库的退出:exit

2.7、Python操作MongoDB

2.7.1、导入 pymongo

from pymongo import MongoClient

2.7.2、连接服务器

1、连接MongoDB连接MongoDB我们需要使用PyMongo库里面的MongoClient一般来说传入MongoDB的IP及端口即可第一个参数为地址host,第二个参数为端口port,端口如果不传默认是270172、代码conn = MongoClient("localhost")MongoClient(host='127.0.0.1',port=27017)

2.7.3、连接数据库

# 连接数据库
db = conn.数据库名称# 连接集合
collection = db.collection_name

2.7.4、数据相关操作

1、插入数据insert_one 插入一条数据insert_many() 插入多条数据data.inserted_id 返回iddata.inserted_ids2、查询数据
2.1、查询一条db.user.find_one()2.2、带条件查询db.user.find({"name":"张三"})2.3、模糊查询{"name":{'$regex':"张"}}{'xxx':re.compile('xxx')}  2.4、sort 排序年龄 大于10data = db.user.find({"age":{"$gt":10}}).sort("age",1) #年龄 升序 查询  pymongo.ASCENDING   --升序data = db.user.find({"age":{"$gt":10}}).sort("age",-1) #年龄 降序 查询    pymongo.DESCENDING --降序2.5、limit 取值取三条数据db.user.find().limit(3)m= db.user.find({"age":{"$gt":10}}).sort("age",-1).limit(3)2.6、skip  从第几条数据开始取db.user.find().skip(2)3、update 修改update_one() 第一条符合条件的数据进行更新db.user.update_one({"name":"张三"},{"$set":{"age":99}})update_many() 将所有符合条件的数据都更新db.user.update_many({"name":"张三"},{"$set":{"age":91}})4、remove 删除删除操作比较简单,直接调用remove()方法指定删除的条件即可,符合条件的所有数据均会被删除,4.1、删除一条delete_one()即删除第一条符合条件的数据collection.delete_one({“name”:“ Kevin”})4.2、删除多条delete_many()即删除所有符合条件的数据,返回结果是DeleteResult类型collection.delete_many({“age”: {$lt:25}})4.3、可以调用deleted_count属性获取删除的数据条数。result.deleted_count5、关闭连接conn.close()

三、redis数据库

3.1 Redis 简介

Redis特点:1、Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。2、Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。3、Redis不仅仅支持简单的key-value类型的数据,同时还提供listset,zset,hash等数据结构的存储。Redis和MongoDB的区别:Redis是完全在内存中保存数据的数据库,使用磁盘只是为了持久性目的Redis数据全部存在内存,定期写入磁盘当内存不够时,可以选择指定的LRU算法删除数据,持久化是使用RDB方式或者aof方式。mongodb是文档型的非关系型数据库,MongoDB更类似MySQL,支持字段索引、游标操作其优势在于查询功能比较强大,擅长查询JSON数据,能存储海量数据,但是不支持事务。

3.2、 Redis下载、安装及启动

1、下载地址:https://github.com/ServiceStack/redis-windowshttps://github.com/MSOpenTech/redis/releases2、设置  redis.windows.conf455行 maxheap 1024000000   设置最大的数据堆的大小387行 requirepass 123456        设置数据库的密码3、启动服务cd C:\redis64-2.8.2101C:\redis64-2.8.2101>redis-server.exe redis.windows.conf  #执行 redis-server.exe 并加载Windows的配置文件C:\redis64-2.8.2101>dump.rdb  为数据文件4、测试是否连接成功再打开一个新的终端输入密码 (这个密码就是在redis.windows.conf里面设置的密码)C:\redis64-2.8.2101>redis-cli.exe127.0.0.1:6379>auth '123456'    5、注意:密码 为 字符串类型

3.3、Redis的数据类型

3.3.1、Redis数据类型一览

1. 字符串 String
2. 哈希 hash
3. 列表 list
4. 集合 set
5. 有序集合 zset

3.3.2、Redis数据类型——String

1、概述:String是redis最基本的类型,最大能存储512MB的数据String类型是二进制安全的,即可以存储任何数据、比如数字、图片、序列化对象等一个key对应一个value2、设置键值set key valueset name "zhangsan"3、设置键值及过期时间,以秒为单位setex key seconds valuesetex name 10 'zhangsan'4、查看有效时间,以秒为单位ttl keyttl name5、取消过期时间persist keypersist name6、只有在 key 不存在时设置 key 的值setnx key valuesetnx name 'a'7、设置多个键值mset key value [key value ……]mset name 'zs' age 18     8、根据键获取值,如果键不存在则返回None(null 0 nil)get keyget name9、根据多个键获取多个值mget key [key ……]mget name age10、返回 key 中字符串值的子字符getrange key start endgetrange name 0 411、将给定 key 的值设为 value ,并返回 key 的旧值(old value)getset key valuegetset name 'x'12、将key对应的值加1incr key   incr age13、将key对应的值减1decr keydecr age14、将key对应的值加整数incrby key intnumincrby age 10    `    15、将key对应的值减整数decrby key intnumdecrby age 1016、获取值长度strlen keystrlen age17、查找所有的 keykeys *18、判断键是否存在,如果存在返回1,不存在返回0exists keyexists name19、查看键对应的value类型type keytype name20、删除键及对应的值del key [key ……]21、设置过期时间,以秒为单位expire key seconds`expire age 10`22、查看有效时间,以秒为单位ttl key23、以毫秒为单位返回 key 的剩余的过期时间pttl key24、移除 key 的过期时间,key 将持久保持persist key25、删除所有的keyflushdb    删除当前数据库中的所有flushall        删除所有数据库中的key26、修改 key 的名称(仅当 newkey 不存在时,将 key 改名为 newkey)rename key newkey27、将key移动到指定的数据库中Move key db28、随机返回一个keyrandomkey

3.3.2、Redis数据类型——hash

1、概述:hash用于存储对象{name:"tom",age:18}hash 是一个键值(key=>value)对集合。2、设置单个值hset key field valuehset myhash name luckyHGET myhash name3、设置多个值hmset key field value [field value ……]hmset myhash a 1 b 2 c 34、为哈希表 key 中的指定字段的整数值加上增量 incrementhincrby key field incrmenthincrby hh age 105、只有在字段 field 不存在时,设置哈希表字段的值hsetnx key field value6、获取一个属性的值hget key field`hget name field1`7、获取多个属性的值hmget key filed [filed ……]8、获取所有字段和值hgetall key9、获取所有字段hkeys key10、获取所有值hvals key11、返回包含数据的个数hlen key12、判断属性是否存在,存在返回1,不存在返回0hexists key field`hexists a x`13、删除字段及值    hdel key field [field ……]`hdel a x y z`14、返回值的字符串长度  起始版本 3.2    hstrlen key field

3.3.3、Redis数据类型——列表 list

1、概述:Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)2、在头部插入lpush key value [vlaue ……]lpush demo 2 3`3、将一个值插入到已存在的列表头部,列表不存在时操作无效Lpushx  key vallpushx list 'a'4、在尾部插入rpush key value [vlaue ……]rpush demo 2 15、为已存在的列表添加值rpushx  key valrpushx mm 'a'    6、移除并返回key对应的list的第一个元素lpop keylpop demo7、移除并返回key对应的list的最后一个元素rpop keyrpop demo8、返回存储在key的列表中的指定范围的元素lrange key  start endlrange demo 0 -1    #查看列表中的所有元素注意:start end都是从0开始注意:偏移量可以是负数9、裁剪列表,改为原集合的一个子集ltrim key start endltrim demo 1 -1    #将索引为1 到 -1的元素裁剪出来注意:start end都是从0开始注意:偏移量可以是负数10、返回存储在key里的list的长度llen key11、返回列表中索引对应的值lindex key indexLINDEX mylist 0

3.3.4、Redis数据类型——集合 set

1、概述:无序集合,元素类型为String类型,元素具有唯一性,不重复2、添加元素sadd key member [member ……]sadd set 'a' 'b' 'c'3、返回key集合中所有元素smembers keysmembers set4、返回集合元素个数scard keyscard set5、移除并返回集合中的一个随机元素spop  keyspop set6、返回集合中一个或多个随机数srandmember  key  counts set        #返回一个随机元素srandmember set 2    #返回2个随机元素7、移除集合中一个或多个成员srem  key   member1 [memkber2]srem set 'd' 'b'ss8、求多个集合的交集ssinter key [key ……]sinter m l    #求集合l和集合m的交集9、求多个集合的差集sdiff key [key ……]sdiff m l    #求差集 注意比较顺序10、判断元素是否在集合中,存在返回1,不存在返回0sismember key membersissmember m 'a'   #集合m中是否存在元素'a'

3.3.5、Redis数据类型——有序集合 zset

1、概述:a、有序集合,元素类型为String,元素具有唯一性,不能重复b、每个元素都会关联一个double类型的score(表示权重),通过权重的大小排序,元素的score可以相同2、添加zadd key score member [score member ……]zadd zset 1 a 5 b 3 c 2 d 4 e3、有序集合中对指定成员的分数加上增量 incrementZincrby    key increment  mcfaemberzincrby zset 10 'a'   #给a的权重上加104、返回指定范围的元素zrange key start endzrange z1 0 -15、返回元素个数zcard keyzcard z16、返回有序集合key中,score在minmax之间的元素的个数zcount key min max7、返回有序集合key中,成员member的score值zscore key memberzscore l 'c'    #s返回c的权重8、当前集合所有的值和权重ZRANGE key 0 -1 WITHSCORES9、返回有序集合中指定分数区间内的成员,分数由低到高排序。ZRANGEBYSCORE key min max [WITHSCORES][LIMIT offset count]minmax可以是-inf和+inf,这样一来,你就可以在不知道有序集的最低和最高score值的情况下,使用ZRANGEBYSCORE这类命令。10、从排序的集合中删除一个或多个成员当key存在,但是其不是有序集合类型,就返回一个错误。ZREM key member [member ...]

3.4、Redis 安全

1、注意:当前密码修改后如果服务重启则需要重新设定2、我们可以通过 redis 的配置文件设置密码参数,这样客户端连接到 redis 服务就需要密码验证,这样可以让你的 redis 服务更安全。3、实例我们可以通过以下命令查看是否设置了密码验证:127.0.0.1:6379> CONFIG get requirepass1) "requirepass"2) ""默认情况下 requirepass 参数是空的,这就意味着你无需通过密码验证就可以连接到 redis 服务。你可以通过以下命令来修改该参数:127.0.0.1:6379> CONFIG set requirepass "lucky"OK127.0.0.1:6379> CONFIG get requirepass1) "requirepass"2) "lucky"设置密码后,客户端连接 redis 服务就需要密码验证,否则无法执行命令。4、语法AUTH命令基本语法格式如下:127.0.0.1:6379> AUTH password5、实例127.0.0.1:6379> AUTH "lucky"OK127.0.0.1:6379> SET mykey "Test value"OK127.0.0.1:6379> GET mykey"Test value"

3.5、Redis 数据备份与恢复

1、SAVE命令用于创建当前数据库的备份。2、语法redis 127.0.0.1:6379> SAVE3、实例redis 127.0.0.1:6379> SAVEOK4、该命令将在 redis 安装目录中创建dump.rdb文件。5、如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可。6、获取 redis 目录可以使用CONFIG命令,如下所示:redis 127.0.0.1:6379> CONFIG GET dir1) "dir"2) "/usr/local/redis/bin"以上命令CONFIG GET dir输出的 redis 安装目录为 /usr/local/redis/bin7、创建 redis 备份文件也可以使用命令 **BGSAVE**,该命令在后台执行。8、实例127.0.0.1:6379> BGSAVEBackground saving started

3.6、Python操作redis

1、安装pip install redis2、导入import  redis3、连接方式+ StrictRedis:实现大部分官方的命令+ Redis:是StrictRedis的子类,用于向后兼容旧版的redis。官方推荐使用StrictRedis方法。4、举例(普通连接):import redis# decode_responses=True  自动解码r = redis.Redis(host='127.0.0.1',port=6379,password='123c456',db=0,decode_responses=True) #默认数据库为0r = redis.StrictRedis(host='10.10.2.14',port=6379,password='123456',decode_responses=True)5、连接池:connection pool管理对一个redis server的所有连接,避免每次建立,释放连接的开销。默认,每个redis实例都会维护一个自己的连接池,可以直接建立一个连接池,作为参数传给redis,这样可以实现多个redis实例共享一个连接池。6、举例(连接池):pool = redis.ConnectionPool(host='127.0.0.1',port=6379,db=0,password='123456',decode_responses=True)r = redis.Redis(connection_pool=pool)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com