设为首页 收藏本站
查看: 720|回复: 0

[经验分享] redis命令 举例

[复制链接]

尚未签到

发表于 2018-11-5 13:45:15 | 显示全部楼层 |阅读模式
   #在Shell命令行下启动Redis客户端工具。
  /> redis-cli
      #清空当前选择的数据库,以便于对后面示例的理解。
  redis 127.0.0.1:6379> flushdb
  OK
      #添加String类型的模拟数据。
  redis 127.0.0.1:6379> set mykey 2
  OK
  redis 127.0.0.1:6379> set mykey2 "hello"
  OK
      #添加Set类型的模拟数据。
  redis 127.0.0.1:6379> sadd mysetkey 1 2 3
  (integer) 3
      #添加Hash类型的模拟数据。
  redis 127.0.0.1:6379> hset mmtest username "stephen"
  (integer) 1
      #根据参数中的模式,获取当前数据库中符合该模式的所有key,从输出可以看出,该命令在执行时并不区分与Key关联的Value类型。
  redis 127.0.0.1:6379> keys my*
  1) "mysetkey"
  2) "mykey"
  3) "mykey2"
      #删除了两个Keys。
  redis 127.0.0.1:6379> del mykey mykey2
  (integer) 2
      #查看一下刚刚删除的Key是否还存在,从返回结果看,mykey确实已经删除了。
  redis 127.0.0.1:6379> exists mykey
  (integer) 0
      #查看一下没有删除的Key,以和上面的命令结果进行比较。
  redis 127.0.0.1:6379> exists mysetkey
  (integer) 1
      #将当前数据库中的mysetkey键移入到ID为1的数据库中,从结果可以看出已经移动成功。
  redis 127.0.0.1:6379> move mysetkey 1
  (integer) 1
      #打开ID为1的数据库。
  redis 127.0.0.1:6379> select 1
  OK
      #查看一下刚刚移动过来的Key是否存在,从返回结果看已经存在了。
  redis 127.0.0.1:6379[1]> exists mysetkey
  (integer) 1
      #在重新打开ID为0的缺省数据库。
  redis 127.0.0.1:6379[1]> select 0
  OK
      #查看一下刚刚移走的Key是否已经不存在,从返回结果看已经移走。
  redis 127.0.0.1:6379> exists mysetkey
  (integer) 0
      #准备新的测试数据。   
  redis 127.0.0.1:6379> set mykey "hello"
  OK
      #将mykey改名为mykey1
  redis 127.0.0.1:6379> rename mykey mykey1
  OK
      #由于mykey已经被重新命名,再次获取将返回nil。
  redis 127.0.0.1:6379> get mykey
  (nil)
      #通过新的键名获取。
  redis 127.0.0.1:6379> get mykey1
  "hello"
      #由于mykey已经不存在了,所以返回错误信息。
  redis 127.0.0.1:6379> rename mykey mykey1
  (error) ERR no such key
      #为renamenx准备测试key
  redis 127.0.0.1:6379> set oldkey "hello"
  OK
  redis 127.0.0.1:6379> set newkey "world"
  OK
      #由于newkey已经存在,因此该命令未能成功执行。
  redis 127.0.0.1:6379> renamenx oldkey newkey
  (integer) 0
      #查看newkey的值,发现它也没有被renamenx覆盖。
  redis 127.0.0.1:6379> get newkey
  "world"
  2. PERSIST/EXPIRE/EXPIREAT/TTL:
      #为后面的示例准备的测试数据。
  redis 127.0.0.1:6379> set mykey "hello"
  OK
      #将该键的超时设置为100秒。
  redis 127.0.0.1:6379> expire mykey 100
  (integer) 1
      #通过ttl命令查看一下还剩下多少秒。
  redis 127.0.0.1:6379> ttl mykey
  (integer) 97
      #立刻执行persist命令,该存在超时的键变成持久化的键,即将该Key的超时去掉。
  redis 127.0.0.1:6379> persist mykey
  (integer) 1
      #ttl的返回值告诉我们,该键已经没有超时了。
  redis 127.0.0.1:6379> ttl mykey
  (integer) -1
      #为后面的expire命令准备数据。
  redis 127.0.0.1:6379> del mykey
  (integer) 1
  redis 127.0.0.1:6379> set mykey "hello"
  OK
     #设置该键的超时被100秒。
  redis 127.0.0.1:6379> expire mykey 100
  (integer) 1
      #用ttl命令看一下当前还剩下多少秒,从结果中可以看出还剩下96秒。
  redis 127.0.0.1:6379> ttl mykey
  (integer) 96
      #重新更新该键的超时时间为20秒,从返回值可以看出该命令执行成功。
  redis 127.0.0.1:6379> expire mykey 20
  (integer) 1
      #再用ttl确认一下,从结果中可以看出果然被更新了。
  redis 127.0.0.1:6379> ttl mykey
  (integer) 17
      #立刻更新该键的值,以使其超时无效。
  redis 127.0.0.1:6379> set mykey "world"
  OK
      #从ttl的结果可以看出,在上一条修改该键的命令执行后,该键的超时也无效了。
  redis 127.0.0.1:6379> ttl mykey
  (integer) -1
  3. TYPE/RANDOMKEY/SORT:
      #由于mm键在数据库中不存在,因此该命令返回none。
  redis 127.0.0.1:6379> type mm
  none
      #mykey的值是字符串类型,因此返回string。
  redis 127.0.0.1:6379> type mykey
  string
      #准备一个值是set类型的键。
  redis 127.0.0.1:6379> sadd mysetkey 1 2
  (integer) 2
  #mysetkey的键是set,因此返回字符串set。
  redis 127.0.0.1:6379> type mysetkey
  set
      #返回数据库中的任意键。
  redis 127.0.0.1:6379> randomkey
  "oldkey"
      #清空当前打开的数据库。
  redis 127.0.0.1:6379> flushdb
  OK
      #由于没有数据了,因此返回nil。
  redis 127.0.0.1:6379> randomkey
  (nil)


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-631180-1-1.html 上篇帖子: 学习环境安装 mysql 与 redis-justforid 下篇帖子: redis使用小计
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表