头歌 Redis基本命令

  • 第1关:字符串、列表与集合
  • 第2关:哈希与有序集合
  • 第3关:Redis基本事务与其他命令

第1关:字符串、列表与集合

#!/usr/bin/env python
#-*- coding:utf-8 -*-import redisconn = redis.Redis()def task_empty():# 请在下面完成判断任务列表是否为空#********* Begin *********#return int(conn.llen("task_list"))==0#********* End *********#def get_task():# 请在下面完成获取一个任务#********* Begin *********#task = conn.rpop("task_list")conn.set("current_task",task)#********* End *********#def get_unallocated_staff():# 请在下面完成获取一个未分配的员工#********* Begin *********#staff=conn.srandmember("unallocated_staff")conn.smove("unallocated_staff","allocated_staff",staff)return staff#********* End *********#def allocate_task(staff):# 请在下面完成分配任务#********* Begin *********#conn.append("current_task",':'+str(staff))conn.lpush("task_queue",conn.get("current_task"))conn.set("current_task","None")#********* End *********#

第2关:哈希与有序集合

#!/usr/bin/env python
#-*- coding:utf-8 -*-import redisconn = redis.Redis()# 初始化任务信息到 Redis 中
def set_task_info(task_id):# 请在下面完成要求的功能#********* Begin *********#conn.hset("task_status",task_id,"init")#********* End *********## 将任务添加至任务队列
def add_task_to_queue(task_id, priority):# 请在下面完成要求的功能#********* Begin *********#conn.zadd("task_queue",task_id,int(priority))set_task_info(task_id)#********* End *********## 从任务队列中取出优先级最高的任务
def get_task():# 请在下面完成要求的功能#********* Begin *********#task_list_by_priority=conn.zrevrange('task_queue',0,-1)current_task=task_list_by_priority[0]conn.zrem('task_queue',current_task)conn.hset("task_status",current_task,"processing")return current_task#********* End *********#

第3关:Redis基本事务与其他命令

#!/usr/bin/env python
#-*- coding:utf-8 -*-import time
import redisconn = redis.Redis()# 用户端发起派车请求
def request_cab(user_id, priority):# 请在下面完成要求的功能#********* Begin *********#if conn.hexists('request:info:' + str(user_id), 'time'):returnpipe = conn.pipeline()pipe.lpush('cab:queue', user_id)pipe.hmset('request:info:'+str(user_id), {'time': time.time(), 'priority':priority})pipe.expire('request:info:'+ str(user_id), 10 * 60)pipe.execute()#********* End *********## 平台选择优先级最高的派车请求并派车
def allocate():# 请在下面完成要求的功能#********* Begin *********#cab_queue=conn.sort('cab:queue',by='request:info:*->priority',desc=True)current_respond=cab_queue[0]conn.lrem('cab:queue', current_respond, 1)return current_respond#********* End *********## 用户端取消派车请求
def cancel_cab(user_id):conn.expire('request:info:' + str(user_id), 0)conn.lrem('cab:queue', user_id)

头歌 Redis基本命令相关推荐

  1. 头歌 初识Redis

    头歌 初识Redis 第一关 redis-cli set hello redis lpush educoder-list hello rpush educoder-list educoder rpus ...

  2. 数据采集与清洗基础习题(二)Python爬虫常用模块,头歌参考答案

    数据采集习题参考答案,会持续更新,点个关注防丢失.为了方便查找,已按照头歌重新排版,朋友们按照头歌所属门类查找实训哦,该篇为Python爬虫常用模块. 创作不易,一键三连给博主一个支持呗. 文章目录 ...

  3. 两万字详细爬虫知识储备,数据采集与清洗基础习题(一)头歌参考答案

    数据采集习题参考答案,会持续更新,点个关注防丢失.为了方便寻找,按照头歌的门类从新整理了实训的分类,朋友们记得看标题哦,按标题寻找! 该篇为爬虫知识储备! 文章目录 实训一:HTML基础 第一关:初识 ...

  4. linux操作系统中的shell编程----基于头歌实践教学编写shell脚本测试结果

    一.前言 今天,又要使用我的大学技能-写实验报告.linux操作系统课程实验课到了尾声,这是最后一次linux操作系统实验报告,我喜极而泣. 行了,废话不多说,我直接开始肝!!本实验是基于基于头歌实践 ...

  5. 数据结构实验头歌 第1关:求图的最短路径

    任务描述 本关任务:编程实现求图的最短路径 相关知识 最短路径的Dijkstra算法: 求最短路径就是求图中的每一个点到图中某一个给定点(认为编号为0的点)的最短距离. 具体算法就是初始有一个旧图,一 ...

  6. 头歌c语言实训作业题解

    头歌c语言实训作业题解 持续更新 C语言程序设计编辑与调试环境 1.打印输出 Hello World 2.打印输出图形 3.求三个数的最大值 4.熟悉C语言调试环境 C语言中最基本的输入输出 1.看看 ...

  7. 头歌——c++单向链表

    #include <iostream> using namespace std; struct Linked {/********* Begin *********///结构体的成员变量 ...

  8. 头歌HTML实训笔录

    头歌实训笔录 HTML前端基础 第2关 创建 - 标签 HTML前端基础 因学校Java 前端等写代码的作业都在头哥平台上操作,就记录一下每一关的代码吧.. ##第1关 创建第一个 HTML 标签 / ...

  9. 如何下载头歌平台在线实验闯关中的文件到本地进行查看

    如何下载头歌平台在线实验闯关中的文件到本地进行查看 文章目录 如何下载头歌平台在线实验闯关中的文件到本地进行查看 一.前言 二.进入在线实验 三.使用SSH工具连接实验所属服务器 四.下载需要的文件到 ...

最新文章

  1. Java二维数组排序(按照某一列值大小)
  2. phpmyadmin #1045 - Access denied for user 'root'@'localhost' (using password: NO)
  3. css--左右visibility建立 “collapse”值问题
  4. 开源版本命名规范_11个开源项目如何命名
  5. 鸿蒙os智能座舱,华为智能座舱的野心:HiCar上车,为鸿蒙OS铺路
  6. 物理学基石 —— 电
  7. Hibernate应用中Java对象的状态
  8. ios mk上传文件到服务器,ios – 使用预签名URL将文件上传到AWS S3的代码有什么问题?...
  9. 背包问题回溯法c语言程序,C语言回溯法解决背包问题
  10. bim计算机管理室内设计,BIM室内设计分析
  11. 牛逼的电商运营为什么不自己开店铺要去打工?(知乎精选)
  12. wiki搭建详细步骤
  13. EXCEL TIPS From Webs
  14. 如何利用新浪博客做外链
  15. python 因果推断_Causal inference (因果推断)
  16. python异常值处理四分位法_Python清除异常值四分位法
  17. word论文删除封面或前几页的页眉或横线
  18. MATLAB代码实现二次多项式曲线拟合
  19. Mybatis中#和$的区别
  20. 图论中的聚类系数(Clustering coefficient)简单介绍

热门文章

  1. 怎样更改计算机网络密码怎么办,宽带密码修改后wifi上不了网怎么办?
  2. Oracle用sql语句创建用户,并授权
  3. ubuntu系统ffmpeg录音
  4. Fanuc机器人TP程序转换成TXT可打开文件
  5. 安全是企业数字化的基石,华为云WeLink如何构建数字化办公护盾
  6. 磷酸铁锂和三元锂离子电池对比
  7. 将 notepad++ 添加到鼠标右键菜单
  8. acd幻灯片exe照片提取_如何使用照片创建快速幻灯片和项目
  9. win10新无线网无法连接服务器,Win8无线网络无法连接怎么办?
  10. extjs 文本框只能输入数字的限制