当前位置: 首页 > news >正文

新冠肺炎最新消息自学seo能找到工作吗

新冠肺炎最新消息,自学seo能找到工作吗,互联网趋势发展前景,网站icp备案 技术负责人目录 一、介绍 二、安装以及连接 三、设置连接密码 四、连接报错 五、redis 操作字符串以及过期时间 六、 redis 列表操作 七、redis 集合操作 八、hash 哈希操作 九、redis 发布和订阅操作 十、RDB和AOF的两种数据持久化机制 十一、 其他机器连接redis 十二、 pyt…

目录

一、介绍

二、安装以及连接

三、设置连接密码

四、连接报错

五、redis 操作字符串以及过期时间

六、 redis 列表操作

七、redis 集合操作

八、hash 哈希操作

九、redis 发布和订阅操作

十、RDB和AOF的两种数据持久化机制

十一、 其他机器连接redis

十二、 python 操作redis

1. 安装python-redis  以及连接redis

2. 操作数据

3.  事务操作

4. 发布与订阅


一、介绍

redis 是一种 nosql 数据库,他的数据是保存在内存中,同时 redis 可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比 memcached 支持更多的数据结构( string,list表[队列和栈],set[集合],sorted set[有序集合],hash(hash表)。

redis 使用场景:

  1. 登录会话存储,存储在 redis 中,与 memcached 相比,数据不会丢失。
  2. 排行版/计数器:比如一些秀场类的项目,经常会有一些前多少名的主播排名。还有一些文章阅读量的技术,或者新浪微博的点赞数等。
  3. 作为消息队列:比如 celery 就是使用 redis 作为中间人。
  4. 当前在线人数:还是之前的秀场例子,会显示当前系统有多少在线人数。
  5. 一些常用的数据缓存:比如我们的 BBS 论坛,板块不会经常变化的,但是每次访问首页都要从"ys591 中获取,可以在 redis 中缓存起来,不用每次请求数据库。
  6. 把前200篇文童缓存或者评论缓存:一般用户浏览网站,只会浏览前面一部分文章或者评论,那么可以把前面200篇文童和对应的评论缓存起来。用户访问超过的,就访问数据库,并且以后文章超过200篇,则把之前的文章删除。
  7. 好友关系: 微博的好友关系使用 redis 实现。
  8. 发布和订阅功能:可以用来做聊天软件。        

二、安装以及连接

参考文章链接:【Redis】在Mac上安装使用redis的教程_mac安装redis-CSDN博客

  1. 安装:brew install redis
  2. 开启服务:brew services start redis
  3. 关闭服务: brew services stop redis
  4. 指定端口号:redis-cli -h 127.0.0.1 -p 6379

-h ip地址; -p 端口号 ; -a 密码 

三、设置连接密码

  1. 配置文件设置连接密码:

第一步:cd /opt/homebrew/etc 

第二步:open redis.conf

报错了!!No application knows how to open URL file:///opt/homebrew/etc/redis.conf

解决: 换成  open -e redis.conf  命令

第三步:在redis.conf 中修改requirepass 密码,如图所示:

 第四步:运行 redis-server /opt/homebrew/etc/redis.conf 

第五步:运行 redis-cli -h 127.0.0.1 -p 6379 -a 123456

四、连接报错

报错:Could not connect to Redis at 127.0.0.1:6379: Connection refused

方式一: 查看服务是否启动

方式二: 如果服务已经启动还是报错,通过以下方式解决:

  1. 检查redis 服务的状态:redis-cli ping,确认redis 服务正在运行,如果返回PONG,则表示Redis服务器正在运行。
  2. 如果没有返回或者返回其他错误消息,我们需要通过以下命令启动Redis服务器: redis-server
  3. 参考链接: 解决Could not connect to Redis at 127.0.0.1:6379: Connection refused的具体操作步骤_mob649e816a3664的技术博客_51CTO博客

五、redis 操作字符串以及过期时间

  1. 添加字符串         set key value

  2. 查看字符串.        get key

  3.  设置过期时间 

  • set key value EX 过期时间()   比如:set username axuan EX 10

  • expire key 过期时间()           比如:expire age 204. 查看过期时间  ttl key 

  1. 查看所有字符串     keys *

  2. 删除字符串          del key

其他命令: 

  • 删除所有的key  flushall
  • 六、 redis 列表操作

  • 在列表左边添加元素

         lpush key value             比如:lpush userlist xuan

  • 在列表右边添加元素

         rpush key value       

  • 查看列表中的元素

         lrange key start stop      比如:lrange userlist 0 -1 返回所有的元素

  • 移除并返回列表key的头元素

        lpop key

  • 移除并返回列表key的尾元素

        rpop key

  • 移除并返回返回列表key的中间元素,count个值为value的元素

        lrem key count value        比如:lrem userlist 1 haha

  • 指定返回第几个元素(元素序号是从0开始)

          lindex key index

  • 获取列表中的元素个数

          llen key

  • 删除指定的元素

        lrem key count value

         count > 0:从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。

         count < 0:从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。

        count = 0: 移除表中所有与 value 相等的值。

七、redis 集合操作

  • 添加元素

        sadd set value1 value2 比如:sadd school1 qinghua beida

  • 查看元素

        smembers  set 比如:smembers school1

  • 移除元素

        srem set memeber  比如:srem school1 beida

  • 查看集合中的元素个数

        scard set 比如:scard school1

  • 获取多个集合的交集

        sinter set1 set2 比如sinter school1 school2

  • 获取多个集合的并集

        sunion set1 set2 比如:sunion school1 school2

  • 获取多个集合的差集

        sdiff set1 set2 比如:sdiff school1 school2

八、hash 哈希操作

  • 添加一个新值

        hset key field value 比如:hset person name xuan

  • 添加多个新值

        hmset key field value field value... 比如:hmset person address jueeweee height 155

  • 获取哈希中的field对应的值

        hset key field 比如:hget person name

  • 删除field 中的某个field

        hdel key field 比如:hdel person height

  • 获取某个哈希中所有的field 和 value

        hgetall key 比如:hgetall person

  • 获取某个哈希中所有的field

        hkeys key 比如:hkeys person

  • 获取某个哈希中所有的值

        hvals key 比如:hvals person

  • 判断哈希是否存在某个filed

          hexists key field 比如:hexists person age

  • 获取哈希中总共的键值对

        hlen key 比如:hlen person key

  1. redis 事务操作
  1. 事务特点

        Redis 事务可以一次执行多个命令,事务具有以下特征:

  • 隔离操作:事务中的所有命令都会序列化、按顺序地执行,不会被其他命令打扰。
  • 原子操作: 事务中的命令要么全部被执行,要么全部都不执行。

     2. 操作事务

  • 开启一个事务

        multi

  • 执行事务,会将在multi 和exec 中的操作一并提交

        exec

如下图所示:

127.0.0.1:6379> multi

OK

127.0.0.1:6379(TX)> set username axuanya

QUEUED

127.0.0.1:6379(TX)> get username

QUEUED

127.0.0.1:6379(TX)> exec

1) OK

2) "axuanya"

  • 取消事务

        discard

  • 监视一个或者多个key,如果在事务执行之前这个(或这些)key 被其他命令所改动,那么事务将被打断

 127.0.0.1:6379> watch username

OK

127.0.0.1:6379> multi

OK

127.0.0.1:6379(TX)> set username hahahaha

QUEUED

127.0.0.1:6379(TX)> exec

1) OK

127.0.0.1:6379> get username

"hahahaha"

127.0.0.1:6379>

  • 取消所有key的监视

        unwatch

九、redis 发布和订阅操作

  1. 给某个频道发布消息

        publish channel message

      2. 订阅某个频道发布消息

        subscribe channel

十、RDB和AOF的两种数据持久化机制

RDB

AOF

开启关闭

开启: 默认开启。关闭: 把配置文件中所有的save都注释,就是关闭了。

开启:在配置文件中appendonly ,yes 即开启了 aof ,为 no 关闭。

同步机制

可以指定某个时间内发生多少个命令进行同步。比如1分钟内发生了2次命令,就做一次同步。

*save 900 1:如果在900s以内发生了1次数据更新操作,那么就会做一次同步操作。

*save 300 10: 如果在300s以内发生了10数据更新操作,那么就会做一次同步操作。

*save 60 10000:如果在60s以内发生了10000数据更新操作,那么就会做一次同步操作。

每秒同步或者每次发生命令后同步。

*appendfsync always:每次有数据更新操作,都会同步到文件中。

* appendfsync everysec:每秒进行一次更新。

* appendfsync no:使用操作系统的方式进行更新。普遍是30s更新一次。

存储内容

存储的是redis里面的具体的值

存储的是执行的更新数据的操作命令

存储路径

根据redis.conf下的dir以及rdbfilename来指定的。默认是/var/lib/redis/dump.rdb

根据redis.conf下的dir以及appendfilename来指定的。默认是/var/lib/redis/dump.rdb

优点

  1.  存储数据到文件中会进行压缩,文件体积比aof小。(2) 因为存储的是redis具体的值,并且会经过压缩,因此在恢复的时候速度比AOF快。

(3)非常适用于备份。

(1) AOF的策略是每秒钟或者每次发生写操作的时候都会同步,因此即使服务器故障,最多只会丢失1秒的数据。(2) AOF存储的是Redis命令,并且是直接追加到aof文件后面,因此每次备份的时候只要添加新的数据进去就可以了。(3) 如果AOF文件比较大了,那么Redis会进行重写,只保留最小的命令集合。

缺点

  1. RDB在多少时间内发生了多少写操作的时候就会出发同步机制,因为采用压缩机制,RDB在同步的时候都重新保存整个Redis中的数据,因此你一般会设置在最少5分钟才保存一次数据。在这种情况下,一旦服务器故障,会造成5分钟的数据丢失。(2)在数据保存进RDB的时候,Redis会fork出一个子进程用来同步,在数据量比较大的时候,可能会非常耗时。
  1. AOF文件因为没有压缩,因此体积比RDB大。 (2) AOF是在每秒或者每次写操作都进行备份,因此如果并发量比较大,效率可能有点慢。(3)AOF文件因为存储的是命令,因此在灾难恢复的时候Redis会重新运行AOF中的命令,速度不及RDB。

十一、 其他机器连接redis

如果想要让其他机器连接本机的redis 服务器, 那么应该在redis.conf配置文件中,指定“bind 本机的ip地址”,

这样别的机器就能连接成功。不像是网上说的,要指定对方的ip地址.

十二、 python 操作redis

1. 安装python-redis  以及连接redis

import redis
from flask import Flask
cache = redis.StrictRedis(host='127.0.0.1', port=6379, db=0)
app = Flask(__name__)
if __name__ == '__main__':app.run(debug=True)

2. 操作数据

# 1. 操作字符串
cache.set('username', 'axuan')
print(cache.get('username'))
# 2. 操作列表
cache.lpush('languages', 'java')
cache.lpush('languages', 'python')
print(cache.lrange('languages', 0, -1))
# 3. 集合的操作
cache.sadd('team', 'yuyu')
cache.sadd('team', 'xuan')
print(cache.smembers('team'))
# 4. 哈希的操作
cache.hset('person','name','xuanya')
cache.hset('person','age','25')
print(cache.hgetall('person'))

3.  事务操作

pip=cache.pipeline()
pip.set('username','lalala')
pip.set('password','1u3u33')
# 执行事务
pip.execute()

4. 发布与订阅

# 订阅
ps = cache.pubsub()
ps.subscribe('email')
while True:for item in ps.listen():if item['type'] == 'message':print(item['data'])
# 发布
import redis
from faker import Faker
cache = redis.StrictRedis(host='127.0.0.1', port=6379, db=0)
fake = Faker(language='zh-CN')
for x in range(3):cache.publish('email', fake.email())

http://www.hrbkazy.com/news/1255.html

相关文章:

  • 中国开头的网站怎么做网页怎么做出来的
  • api接口开发网站开发企业网站建设哪家好
  • 网站广告做的好的企业案例分析建网站一般需要多少钱
  • 网站主动服务方案东莞外贸推广公司
  • 大淘客网站上的推广怎么做企业营销策划及推广
  • 东坑网站仿做刷关键词排名软件有用吗
  • 制作网站公司首 荐乐云seo重庆公司网站seo
  • 电商网站开发面试题百度推广深圳分公司
  • 新公司网站怎么做推广外链推广是什么意思
  • 企业网站建设分析营销渠道有哪几种
  • 网站自动采集rss东莞市民最新疫情
  • 备案网站打不开百度怎么打广告在首页
  • 怎样给网站找空间做备案河南省网站
  • 如何添加网站二级域名注册平台
  • 买了域名怎么做网站新品怎么推广效果最好
  • 用花生壳怎么做网站的服务器关键词优化营销
  • 湖南省政府网站官网网络营销工作内容是什么
  • 深圳福田网站优化网络营销培训学校站长工具无内鬼放心开车禁止收费
  • wordpress 免费企业网站 模板下载网络推广外包代理
  • 泉州大型网站建设网络推广专员是干什么的
  • 做推广的网站有哪些百度首页广告
  • wordpress 两个搜索框南京seo公司
  • 天水做网站的核酸检测最新消息
  • wordpress标签自动生成插件兰州seo推广
  • 全国流感疫情最新消息自动优化句子的软件
  • 网站建设的流程是什么意思竞价推广方案
  • 专业零基础网站建设教学在哪里深圳外贸网站推广
  • 网站怎么做自己站长上海seo推广整站
  • 开一个网站建设公司2023近期舆情热点事件
  • 合山网站建设搜索引擎营销的概念及特点