第三课作业——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 ...
随机推荐
- java 环境配置 maven 环境配置
1.windows 下Java 环境的安装和配置: 下载jdk并安装 配置环境变量: (1) 新建JAVA_HOME环境变量,赋值为JDK的安装目录: (2) 新建CLASSPATH环境变量,赋值为. ...
- C#Virtual和Override的几种组合
情况1: class A{public void Show()} class B:A{public void Show()} 编译通过,有警告让在B的方法里添加new关键字,以便将A的方法隐藏 编译时 ...
- 将ViewState放在Session里(转载)
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Ent ...
- django学习笔记【001】django版本的确定&创建一个django工程
2.3 查看当前的django版本 python3. -m django --version 2.3.1 创建一个django工程 django-admin startproject mysite 在 ...
- 如何解决MySQL连接超时关闭
最近做网站有一个站要用到WEB网页采集器功能,当一个PHP脚本在请求URL的时候,可能这个被请求的网页非常慢慢,超过了mysql的 wait-timeout时间,然后当网页内容被抓回来后,准备插入到M ...
- 程序包javax.servlet.annotation不存在
1.错误描写叙述 [INFO] Scanning for projects... [INFO] [INFO] --------------------------------------------- ...
- 谈一谈APP版本号问题
如题:谈一谈APP版本号问题 为什么要谈这个问题,周五晚上11~12点,被微信点名,说APP有错,无效的版本号,商城无法下单.我正在准备收拾东西,周末回老家,结果看到这样问题,菊花一紧.我擦,我刚加的 ...
- ORACLE建立物化视图
--使用 on commit 的方式建立物化视图 create materialized view emp_dept refresh on commit as select t.*,d.dname f ...
- jquery几个按钮同时调用一个方法
- 跟着百度学PHP[17]-PHP扩展CURL的POST传输数据
如果是GET的话就不必那么多设置.但是基本需要用到POST就需要用到以下的几个设置选项. <?php $username = "admin"; $password = &qu ...