码迷,mamicode.com
首页 > 其他好文 > 详细

Redis入门指南-笔记-进阶

时间:2017-05-29 19:58:15      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:进阶   区别   事务   多个   设置   没有   存在   会同   集合   

4.1 事务

      (1) 事务是一组命令的集合

      (2) 事务同命令一样是Redis的最小执行单位,一个事务中的命令要么都执行,要么都不执行。

      (3) 格式:

                 MULTI //告诉Redis,下面我给你的命令属于同一个事务,你先不要执行,而是把他们暂时存储起来;

                 命令1;

                 命令2;

                 ........

                 EXEC //告诉Redis将等待执行的事务队列中的所有命令按照发送顺序依次执行

                         //事务中的命令是在EXEC之后才执行

                        //EXEC命名返回值是多行字符串

      (4) Redis的事务没有关系数据库事务提供的回滚(rollback)功能---将一个事务已经完成的的对数据库的修改操作撤销

      (5) watch:

                 1) 事务执行后的结果都是一起返回的,无法将前一条命令的结果作为后一条命令的参数

                 2) 有时想先获得一条命令的返回值,然后再根据这个值执行下一条命令

                 3) WATCH命令可以监控一个或多个键 ,一旦其中有一个键被修改或者删除,之后的事务就不会执行;

                      监控一直持续到EXEC命令

                 4)执行EXEC命令后会取消对所有键的监控,如果不想执行事务中的命令,也可以用UNWATCH来取消监控。

4.2 生存时间

      (1) 应用场景:会遇到一些有时效的数据,比如限时优惠活动、缓存或验证码等,过了一定的时间就需要删除这些数据。

      (2) Redis中可以使用EXPIRE命令设置一个键的生存时间,到时间后Redis会自动删除它。

                 EXPIRE key seconds(单位为秒,必须为整数)

                            返回1:表示设置成功

                            返回0:表示键不存在或设置失败

      (3) TTL命令:知道一个键还有多久的时间会被删除

                       返回值-1:表示键被删除而不存在或者没有为键设置生存时间(即永久存在)。

      (4) PERSIST:取消键的生存时间设置(即将键恢复成永久的)

                         如果生存时间被成功清除,则返回1;否则返回0(键不存在或键本身就是永久的);

      (5) 使用SET或GETSET命令为键赋值也会同时清除键的生存时间;

      (6) 使用EXPIRE命令会重新设置键的生存时间

      (7) PEXPIRE命令与EXPIRE命令的区别是前者时间设置更加精确为毫秒

           PTTL命令以毫秒为单位返回键的剩余时间

 

 

 

 

      

Redis入门指南-笔记-进阶

标签:进阶   区别   事务   多个   设置   没有   存在   会同   集合   

原文地址:http://www.cnblogs.com/piaxiaohui/p/6918808.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!