Redis 中常用命令
Redis 官方的文档是英文版的,当然网上也有大量的中文翻译版,例如:Redis 命令参考。这里只列举常用到几个基本命令。
命令 行为set key value 设置 key 值为 value
get key 读取 key 的值
del key 删除 key
expire key seconds 设置 key 的生存时间(seconds 秒后自动删除)
ttl key 查看 key 剩余生存时间
exists key 判断 key 是否存在
ping 测试与服务端是否联通
keys * 匹配数据库中所有 key
dbsize 查询当前数据库中 key 的数量
info 返回关于 Redis 服务器的各种信息和统计数值
flushdb 清空当前数据库中的所有 key
flushall 清空整个 Redis 服务器的数据( 删除所有数据库的所有 key )
quit 请求服务器关闭与当前客户端的连接( 断开连接 )
Redis数据类型简介 数据类型 存储的值 读写能力
String 字符串,整数或浮点数 对字符串或一部分字符串执行操作;对整数进行自增和自减操作等
Hash 包含键值对的无序散列表 对单个 元素进行增、删、改;获取所以的键值对等
List 链表上的节点字符串元素 推入、弹出元素;修剪、查找、移除元素等
Set 各不相同的字符串元素 对单个 元素进行增、删、改;计算集合 交,并补集等
Sorted Set 带分数的有序集合 对单个 元素进行增、删、改;按照分数范围查元素等
字符串类型(String) redis string 介绍
虽然 redis 是用 C 编写的,但是在 redis 中没有使用 C 语言的字符串,而是自定义了一个数据结构叫 SDS (simple dynamic string) ——简单动态字符串。是可以修改的,类似java中的 ArrayList。同时它也不像 C 中的字符串那样遇到 \0字符就认为字符串结束,他不会对存储进去的字符串数据进行任何处理,因此 redis 中的字符串也是二进制安全的。
redis 的 string 类型可以包含任意数据,包括图片等二进制或者序列化的对象等。单个 value 的值最大上限为 1G字节。
纯字符串操作命令注:#后面是命令的注释,不可执行
127.0.0.1:6379> set key1 'hello redis' # 存值 OK 127.0.0.1:6379> get key1 # 取值 "hello redis" 127.0.0.1:6379> getset key1 redis # 将给定key1的值设为redis,并返回key1的旧值(old value) "hello redis" 127.0.0.1:6379> get key1 "redis" 127.0.0.1:6379> del key1 # 删除 key1 (integer) 1 整数自增自减操作命令 127.0.0.1:6379> set key2 10 # 存入一个值为10的整数字符串 OK 127.0.0.1:6379> incr key2 # 自增 (integer) 11 127.0.0.1:6379> incr key2 # 自增 (integer) 12 127.0.0.1:6379> incrby key2 5 # 自增指定数值 -- 5 (integer) 17 127.0.0.1:6379> decr key2 # 自减 (integer) 16 127.0.0.1:6379> decr key2 # 自减 (integer) 15 127.0.0.1:6379> decrby key2 5 # 自减指定数值 -- 5 (integer) 10 其他命令 127.0.0.1:6379> set key1 redis OK 127.0.0.1:6379> append key1 hello # 将 hello 追加到 key1 原来的值的末尾,放回追加后字符串长度 (integer) 10 127.0.0.1:6379> get key1 "redishello" 127.0.0.1:6379> strlen key1 # 返回 key1 所储存的字符串值的长度 (integer) 10 127.0.0.1:6379> mset key1 v1 key2 v2 key3 v3 # 批量同时设置一个或多个 key-value 对 OK 127.0.0.1:6379> mget key1 key2 key3 # 返回所有(一个或多个)给定 key 的值 1) "v1" 2) "v2" 3) "v3" 应用场景商品编号,订单号采用string 的递增数字特性生成
散列类型(Hash) redis hash介绍hash 叫散列类型。等价于Java 中的 HashMap。但是在 redis 中 hash 的 key 必须是 string 类型。不支持其他类型。这个特性非常适合存储对象。因为一个对象可以有很多属性,存储起来就是键值对形式的。在 Reids 中,每个 Hash 可以存储多达 4 亿个键值对。