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

[经验分享] Redis常用命令集,清空redis缓存数据库

[复制链接]

尚未签到

发表于 2018-11-3 14:54:16 | 显示全部楼层 |阅读模式
  清空数据库:
  flushdb   // 清除当前数据库的所有keys
  flushall    // 清除所有数据库的所有keys
Redis常用命令集,清空redis缓存数据库
  1)连接操作命令

  •   quit:关闭连接(connection)
  •   auth:简单密码认证
  •   help cmd: 查看cmd帮助,例如:help quit
  2)持久化

  •   save:将数据同步保存到磁盘
  •   bgsave:将数据异步保存到磁盘
  •   lastsave:返回上次成功将数据保存到磁盘的Unix时戳
  •   shundown:将数据同步保存到磁盘,然后关闭服务
  3)远程服务控制

  •   info:提供服务器的信息和统计
  •   monitor:实时转储收到的请求
  •   slaveof:改变复制策略设置
  •   config:在运行时配置Redis服务器
  4)对value操作的命令

  •   exists(key):确认一个key是否存在
  •   del(key):删除一个key
  •   type(key):返回值的类型
  •   keys(pattern):返回满足给定pattern的所有key
  •   randomkey:随机返回key空间的一个
  •   keyrename(oldname, newname):重命名key
  •   dbsize:返回当前数据库中key的数目
  •   expire:设定一个key的活动时间(s)
  •   ttl:获得一个key的活动时间
  •   select(index):按索引查询
  •   move(key, dbindex):移动当前数据库中的key到dbindex数据库
  •   flushdb:删除当前选择数据库中的所有key
  •   flushall:删除所有数据库中的所有key
  5)String

  •   set(key, value):给数据库中名称为key的string赋予值value
  •   get(key):返回数据库中名称为key的string的value
  •   getset(key, value):给名称为key的string赋予上一次的value
  •   mget(key1, key2,…, key N):返回库中多个string的value
  •   setnx(key, value):添加string,名称为key,值为value
  •   setex(key, time, value):向库中添加string,设定过期时间time
  •   mset(key N, value N):批量设置多个string的值
  •   msetnx(key N, value N):如果所有名称为key i的string都不存在
  •   incr(key):名称为key的string增1操作
  •   incrby(key, integer):名称为key的string增加integer
  •   decr(key):名称为key的string减1操作
  •   decrby(key, integer):名称为key的string减少integer
  •   append(key, value):名称为key的string的值附加value
  •   substr(key, start, end):返回名称为key的string的value的子串
  6)List

  •   rpush(key, value):在名称为key的list尾添加一个值为value的元素
  •   lpush(key, value):在名称为key的list头添加一个值为value的 元素
  •   llen(key):返回名称为key的list的长度
  •   lrange(key, start, end):返回名称为key的list中start至end之间的元素
  •   ltrim(key, start, end):截取名称为key的list
  •   lindex(key, index):返回名称为key的list中index位置的元素
  •   lset(key, index, value):给名称为key的list中index位置的元素赋值
  •   lrem(key, count, value):删除count个key的list中值为value的元素
  •   lpop(key):返回并删除名称为key的list中的首元素
  •   rpop(key):返回并删除名称为key的list中的尾元素
  •   blpop(key1, key2,… key N, timeout):lpop命令的block版本。
  •   brpop(key1, key2,… key N, timeout):rpop的block版本。
  •   rpoplpush(srckey, dstkey):返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部
  7)Set

  •   sadd(key, member):向名称为key的set中添加元素member
  •   srem(key, member) :删除名称为key的set中的元素member
  •   spop(key) :随机返回并删除名称为key的set中一个元素
  •   smove(srckey, dstkey, member) :移到集合元素
  •   scard(key) :返回名称为key的set的基数
  •   sismember(key, member) :member是否是名称为key的set的元素
  •   sinter(key1, key2,…key N) :求交集
  •   sinterstore(dstkey, (keys)) :求交集并将交集保存到dstkey的集合
  •   sunion(key1, (keys)) :求并集
  •   sunionstore(dstkey, (keys)) :求并集并将并集保存到dstkey的集合
  •   sdiff(key1, (keys)) :求差集
  •   sdiffstore(dstkey, (keys)) :求差集并将差集保存到dstkey的集合
  •   smembers(key) :返回名称为key的set的所有元素
  •   srandmember(key) :随机返回名称为key的set的一个元素
  8)Hash

  •   hset(key, field, value):向名称为key的hash中添加元素field
  •   hget(key, field):返回名称为key的hash中field对应的value
  •   hmget(key, (fields)):返回名称为key的hash中field i对应的value
  •   hmset(key, (fields)):向名称为key的hash中添加元素field
  •   hincrby(key, field, integer):将名称为key的hash中field的value增加integer
  •   hexists(key, field):名称为key的hash中是否存在键为field的域
  •   hdel(key, field):删除名称为key的hash中键为field的域
  •   hlen(key):返回名称为key的hash中元素个数
  •   hkeys(key):返回名称为key的hash中所有键
  •   hvals(key):返回名称为key的hash中所有键对应的value
  •   hgetall(key):返回名称为key的hash中所有的键(field)及其对应的value
  Redis高级应用
  1、安全性
  设置客户端连接后进行任何操作指定前需要密码,一个外部用户可以再一秒钟进行150W次访问,具体操作密码修改设置redis.conf里面的requirepass属性给予密码,当然我这里给的是primos
  之后如果想操作可以采用登陆的时候就授权使用:
  sudo /opt/java/redis/bin/redis-cli -a primos
  或者是进入以后auth primos然后就可以随意操作了
  2、主从复制
  做这个操作的时候我准备了两个虚拟机,ip分别是192.168.15.128和192.168.15.133
  通过主从复制可以允许多个slave server拥有和master server相同的数据库副本
  具体配置是在slave上面配置slave
  slaveof 192.168.15.128 6379
  masterauth primos
  如果没有主从同步那么就检查一下是不是防火墙的问题,我用的是ufw,设置一下sudo ufw allow 6379就可以了
  这个时候可以通过info查看具体的情况
  3、事务处理
  redis对事务的支持还比较简单,redis只能保证一个client发起的事务中的命令可以连续执行,而中间不会插入其他client的命令。当一个client在一个连接中发出multi命令时,这个连接会进入一个事务的上下文,连接后续命令不会立即执行,而是先放到一个队列中,当执行exec命令时,redis会顺序的执行队列中的所有命令。
  比如我下面的一个例子
  set age 100
  multi
  set age 10
  set age 20
  exec
  get age --这个内容就应该是20
  multi
  set age 20
  set age 10
  exec
  get age --这个时候的内容就成了10,充分体现了一下按照队列顺序执行的方式
  discard  取消所有事务,也就是事务回滚
  不过在redis事务执行有个别错误的时候,事务不会回滚,会把不错误的内容执行,错误的内容直接放弃,目前最新的是2.6.7也有这个问题的
  乐观锁
  watch key如果没watch的key有改动那么outdate的事务是不能执行的
  4、持久化机制
  redis是一个支持持久化的内存数据库
  snapshotting快照方式,默认的存储方式,默认写入dump.rdb的二进制文件中,可以配置redis在n秒内如果超过m个key被修改过就自动做快照
  append-only file aof方式,使用aof时候redis会将每一次的函 数都追加到文件中,当redis重启时会重新执行文件中的保存的写命
  令在内存中。
  5、发布订阅消息 sbusribe publish操作,其实就类似linux下面的消息发布
  6、虚拟内存的使用
  可以配置vm功能,保存路径,最大内存上线,页面多少,页面大小,最大工作线程
  临时修改ip地址ifconfig eth0 192.168.15.129
  redis-cli参数
  Usage: redis-cli [OPTIONS] [cmd [arg [arg ...]]]
  -h     Server hostname (default: 127.0.0.1)
  -p         Server port (default: 6379)
  -s       Server socket (overrides hostname and port)
  -a     Password to use when connecting to the server
  -r       Execute specified command N times
  -i     When -r is used, waits  seconds per command.
  It is possible to specify sub-second times like -i 0.1
  -n           Database number
  -x               Read last argument from STDIN
  -d    Multi-bulk delimiter in for raw formatting (default: \n)
  -c               Enable cluster mode (follow -ASK and -MOVED redirections)
  --raw            Use raw formatting for replies (default when STDOUT is not a  tty)
  --latency        Enter a special mode continuously sampling latency
  --slave          Simulate a slave showing commands received from the master
  --pipe           Transfer raw Redis protocol from stdin to server
  --bigkeys        Sample Redis keys looking for big keys
  --eval     Send an EVAL command using the Lua script at
  --help           Output this help and exit
  --version        Output version and exit
  Examples:
  cat /etc/passwd | redis-cli -x set mypasswd
  redis-cli get mypasswd
  redis-cli -r 100 lpush mylist x
  redis-cli -r 100 -i 1 info | grep used_memory_human:
  redis-cli --eval myscript.lua key1 key2 , arg1 arg2 arg3
  (Note: when using --eval the comma separates KEYS[] from ARGV[] items)
  常用命令:
  1) 查看keys个数
  keys *      // 查看所有keys
  keys prefix_*     // 查看前缀为"prefix_"的所有keys
  2) 清空数据库
  flushdb   // 清除当前数据库的所有keys
  flushall    // 清除所有数据库的所有keys
  来源: http://www.dnsdizhi.com/post-219.html


运维网声明 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-630343-1-1.html 上篇帖子: 分布式缓存技术redis学习系列----深入理解Spring Redis的使用 下篇帖子: redis持久化配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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