第三课作业——set类型、sorted set类型的增删改查,redis的事务
第三课时作业
静哥
by 2016.2.23~2016.3.6
【作业描述】
1.总结什么是set以及什么是sorted set,并完成对set以及sorted set的增删改查(查需要至少4种方式,比如列表,单个节点等)
2.总结redis的事务特征,并且实际操作事务的提交 丢弃以及乐观锁
【作业一:总结什么是set以及什么是sorted set,并完成对set以及sorted set的增删改查】
(1) set是字符串的无序集合,集合内的成员可以是重复;
sorted set是有序集合,成员可以重复,和set不同的是,带有score属性,可以根据score值大小对成员排序;
(2) set的增删改查












(3) sorted set的增删改查











【作业二:总结redis的事务特征,并且实际操作事务的提交 丢弃以及乐观锁】
(1) redis事务特性:
1)原子性:事务里的命令要么都执行,要么都不执行;
Redis原子性有一定局限,redis只检查语句的合法性(入队检查),如果进入队列的语句不合法,则整个事务不会提交;
如果采用乐观锁(watch),则,当对应的key值发生变化,则事务不会提交;
2)一致性:
因为redis是单线程执行,即同时刻只有一个命令在执行,因此不会出现在执行过程中数据被其他命令修改的情况;
执行过程中宕机不会导致数据不一致,因为通过持久化机制可以按照执行成功的标准检测;
有一定的局限性:没有事务回滚机制,一旦某个命令执行失败,剩下的命令依旧会执行,导致整个事务执行不完整;
3)隔离性:
单线程执行,具备很好的隔离性
4)持久性:
依赖redis的持久化机制
(2) 事务的成功提交:

(3)事务的丢弃(失败):

(4)事务里的乐观锁(乐观锁值针对一次事务有效):



第三课作业——set类型、sorted set类型的增删改查,redis的事务的更多相关文章
- Python3.5 day4作业:对员工信息文件,实现增删改查操作。
需求: 1.可进行模糊查询,语法至少支持下面3种: 1.select name,age from staff_table where age > 22 2.select * from staf ...
- ztree使用系列三(ztree与springmvc+spring+mybatis整合实现增删改查)
在springmvc+spring+mybatis里整合ztree实现增删改查,上一篇已经写了demo,以下就仅仅贴出各层实现功能的代码: Jsp页面实现功能的js代码例如以下: <script ...
- python全栈开发中级班全程笔记(第二模块、第三章)(员工信息增删改查作业讲解)
python全栈开发中级班全程笔记 第三章:员工信息增删改查作业代码 作业要求: 员工增删改查表用代码实现一个简单的员工信息增删改查表需求: 1.支持模糊查询,(1.find name ,age fo ...
- Es学习第三课, ElasticSearch基本的增删改查
前面两课我们了解了ES的基本概念并且学会了安装ES,这节课我们就来讲讲ES基本的增删改查:ES主要对外界提供的是REST风格的API,我们通过客户端操作ES本质上就是API的调用.在第一课我们就讲了索 ...
- Java通过JDBC连接数据库的三种方式!!!并对数据库实现增删改查
前言 java连接数据库完整流程为: 1,获得驱动(driver),数据库连接(url),用户名(username),密码(password)基本信息的三种方式. 2,通过获得的信息完成JDBC实现连 ...
- ASP.NET MVC学习---(三)EF简单增删改查
那么现在我们已经大概从本质上了解了ef 巴拉巴拉说了一大堆之后 总算要进入ef的正题了 总在口头说也太不行了是吧~ 没错,现在要用ef进行一些实际的操作 做什么呢? 就做一个入门级的增删改查操作吧 废 ...
- Django框架(三)—— orm增删改查、Django生命周期
目录 orm增删改查.Django生命周期 一.orm介绍 二.orm增删改字段 三.Django生命周期 orm增删改查.Django生命周期 一.orm介绍 1.什么是orm ORM即Object ...
- Maybatis的一些总结(三:增删改查)
回顾一个点 之前不懂这句: UserMapper userMapper = sqlSession.getMapper(UserMapper.class); 现在理解了一点点,相当于实现了userMap ...
- MyBatis学习(三)MyBatis基于动态代理方式的增删改查
1.前言 上一期讲到MyBatis-Statement版本的增删改查.可以发现.这种代码写下来冗余的地方特别多.写一套没啥.如果涉及到多表多查询的时候就容易出现问题.故.官方推荐了一种方法.即MyBa ...
随机推荐
- C语言初级链表(之有头节点的单向链表)
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> typedef struct No ...
- JavaScript No Overloading 函数无重载之说
在ECMAScript语言中,函数名字仅仅只是是一个指针(能够觉得是引用),以下的代码: "use strict"; function sum(a,b){ return a+b; ...
- ToStringBuilder学习(一):常用方法介绍
一.简介与引入 1.ToStringBuilder.HashCodeBuilder.EqualsBuilder.ToStringStyle.ReflectionToStringBuilder.C ...
- python学习之多行字符串
多行字符串的写法 ("..." "..." "...") 例子 >>> err = ("a" ... ...
- love2d教程33--window模块
--love的window模块比较简单,直接贴代码了function love.load() io.stdout:setvbuf("no") -- 设置io为无缓存模式 --获取显 ...
- uGUI ScrollView
Scroll View + Grid Layout Group 滑动列表,与NGUI类似 ScrollView上所需组件:Scroll Rect + Mask + Image.Scroll Rect指 ...
- linux进程D状态_转
Linux进程状态:S (TASK_INTERRUPTIBLE),可中断的睡眠状态. 处于这个状态的进程因为等待某某事件的发生(比如等待socket连接.等待信号量),而被挂起.这些进程的task_s ...
- rsync--数据镜像备份_转
转载:rsync的配置使用 Rsync全称为remoterynchronization,rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像.远程备份的功能,这个功能类似于scp命令,但优于 ...
- flutter datatable
最后,还是用到了 PaginatedDataTable 我把header改成了最终条件显示. 主要是要有listview之类的scrollview容器,否则会报错. 切换页的时候,记得加入空行,否则会 ...
- CDH 安装配置指南(Tarball方式)
采用CDH Tarbal方式安装Hadoop集群. 1. 环境组件版本 组件名称 组件版本 用途 jdk 1.8 jdk-8u191-linux-x64 oracle jdk mysql mysql- ...