Redis常用命令

更新日期: 2019-03-16阅读: 2.7k标签: redis

连接操作命令

 1. quit:关闭连接(connection)
 2. auth:简单密码认证
 3. help cmd:查看cmd帮助,例如:help quit

持久化

1. save:将数据同步保存到磁盘
2. bgsave:将数据异步保存到磁盘
3. lastsave:返回上次成功将数据保存到磁盘的Unix时戳
4. shundown:将数据同步保存到磁盘,然后关闭服务

远程服务控制

1. info:提供服务器的信息和统计
2. monitor:实时转储收到的请求
3. slaveof:改变复制策略设置
4. config:在运行时配置Redis服务器

对value操作的命令

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

String

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

List

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

Set

1. sadd(key, member):向名称为key的set中添加元素member
2. srem(key, member) :删除名称为keyset中的元素member
3. spop(key) :随机返回并删除名称为keyset中一个元素
4. smove(srckey, dstkey, member) :移到集合元素
5. scard(key) :返回名称为keyset的基数
6. sismember(key, member) :member是否是名称为keyset的元素
7. sinter(key1, key2,…key N) :求交集
8. sinterstore(dstkey, (keys)) :求交集并将交集保存到dstkey的集合
9. sunion(key1, (keys)) :求并集
10. sunionstore(dstkey, (keys)) :求并集并将并集保存到dstkey的集合
11. sdiff(key1, (keys)) :求差集
12. sdiffstore(dstkey, (keys)) :求差集并将差集保存到dstkey的集合
13. smembers(key) :返回名称为keyset的所有元素
14. srandmember(key) :随机返回名称为keyset的一个元素

Hash

1. hset(key, field, value):向名称为key的hash中添加元素field
2. hget(key, field):返回名称为key的hash中field对应的value
3. hmget(key, (fields)):返回名称为key的hash中field i对应的value
4. hmset(key, (fields)):向名称为key的hash中添加元素field 
5. hincrby(key, field, integer):将名称为key的hash中field的value增加integer
6. hexists(key, field):名称为key的hash中是否存在键为field的域
7. hdel(key, field):删除名称为key的hash中键为field的域
8. hlen(key):返回名称为key的hash中元素个数
9. hkeys(key):返回名称为key的hash中所有键
10. hvals(key):返回名称为key的hash中所有键对应的value
11. hgetall(key):返回名称为key的hash中所有的键(field)及其对应的value

Redis 发布订阅命令

1. PSUBSCRIBE pattern [pattern ...] :订阅一个或多个符合给定模式的频道。
2. PUBSUB subcommand [argument [argument ...]] :查看订阅与发布系统状态。
3. PUBLISH channel message :将信息发送到指定的频道。
4. PUNSUBSCRIBE [pattern [pattern ...]] :退订所有给定模式的频道。
5. SUBSCRIBE channel [channel ...] :订阅给定的一个或多个频道的信息。
6. UNSUBSCRIBE [channel [channel ...]] :指退订给定的频道。

Redis 事务命令

1. DISCARD :取消事务,放弃执行事务块内的所有命令。
2. EXEC :执行所有事务块内的命令。
3. MULTI :标记一个事务块的开始。
4. UNWATCH :取消 WATCH 命令对所有 key 的监视。
5. WATCH key [key ...] :监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。

查看keys个数

1. keys *  // 查看所有keys
2. keys prefix_*  // 查看前缀为"prefix_"的所有keys

清空数据库

1. flushdb   // 清除当前数据库的所有keys
2. flushall    // 清除所有数据库的所有keys

链接: https://fly63.com/article/detial/2385

在使用redis-cluster之前你需要知道这些事

前段时间基础架构组、DBA还有云盘团队一起推广了phpredis的RedisCluster的线上使用,目前线上业务已经稳定,单业务的规模水平是:Qps平均15W,数据量在700G左右。现对这段时间的工作和所遇到的一些常见问题进行简单总结

Redis 5种主要数据类型和命令

redis常用数据结构strig、list、hash、set、zset,这是最常用的5中redis数据结构,其实还有些不太常用的数据结构比如:HyperLogLog、GeoHash、PubSub等

Redis可视化管理工具有哪些?

redis 是当前非常流行的缓存数据库,得益于其简单的 key-value 模式的数据存储和丰富的数据类型与事件机制使得 redis 成为当前后端开发中不可或缺的利器。下面推荐一些好用的 redis 的管理工具

Redis 中 Lua 脚本的应用和实践

前段时间组内有个投票的产品,上线前考虑欠缺,导致被刷票严重。后来,通过研究,发现可以通过 redis lua 脚本实现限流,这里将 redis lua 脚本相关的知识分享出来,讲的不到位的地方还望斧正。

Redis在Php项目中的实际应用场景

Redis在Php项目中的实际应用场景:商品维度计数、用户维度计数、存储社交关系、用作缓存代替memcached、反spam系统、用户Timeline/Feeds、最新列表&排行榜、消息通知、将Redis用作消息队列

PHP使用redis防止大并发下二次写入

php调用redis进去读写操作,大并发下会出现:读取key1,没有内容则写入内容,但是大并发下会出现同时多个php进程写入的情况,这个时候需要加一个锁,即获取锁的php进程有权限写。

Redis的主从复制

Redis配置成主从模式,主库(Master)只负责写数据,从库(Slave)只负责读数据。一个主库可以拥有多个从库,但一个从库只能隶属于一个主库。

分布式锁的redis缓存使用方式

目前有很多成熟的缓存产品,包括Redis,memcached等。这里以Redis为例来分析下使用缓存实现分布式锁的方案。主要的实现方式是使用Jedis.setNX方法来实现。以上实现方式同样存在几个问题:

Redis的正确使用姿势

说到分布式缓存,可能大多数人脑海浮现的就是redis了,为什么redis能够在竞争激烈的缓存大战中脱颖而出呢?原因无非有一下几点:性能好,丰富的特性跟数据结构,api操作简单。但是用的人多了,就会出现很多不规范或者疏忽的地方,严重的时候甚至会导致生产事故

redis用在哪里?redis 应用场景

Redis是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!