redis 基本命令
1.全局命令
redis有五种数据结构,他们是键值对中的值,对于键来说有一些通用的命令
#查看所有命键,十分危险的命令,线上禁止使用
keys*
#查看键的总数,dbsize 命令在计算键数时不会遍历所有的键,而是直接获取redis内置的键总数变量
dbsize
#检查键是否存在,如果键存在则返回1,不存在返回0
exists key
#删除键,通用命令,无论值是什么数据结构类型,del 命令都可以将其删除
del key [key ...]
#键过期,redis支持对键添加过期时间,当超时过期时间后,会自动删除 #通过tt1 命令观察键的剩余时间 大于等于0的证书:键剩余过期时间 -1:键没设置过期时间 -2:键不存在
expire key seconds
键的数据类型
type key
2.字符串
redis并不是简单的key-value 存储,实际上他是一个数据结构服务器,支持不同类型的值 redis strings 这是最简单的redis类型,如果你只用这种类型,redis就像一个持久化的memcache服务器(注:memcache的数据仅保存在内存中,服务器重启后,数据将丢失) 操作命令: 通常用set command 和get commend来设置和获取字符串值,下面就列举一些常用的命令 命令详解:http://doc.redisfans.com/
SET
示例:127.0.0.1:6379> set key value
返回值:
在 Redis 2.6.12 版本以前, SET 命令总是返回 OK 。
从 Redis 2.6.12 版本开始, SET 在设置操作成功完成时,才返回 OK 。
如果设置了 NX 或者 XX ,但因为条件没达到而造成设置操作未执行,那么命令返回空批量回复(NULL Bulk Reply)
GET
示例:127.0.0.1:6379> get key
返回值:
当key不存在时,返回 nil ,否则,返回key 的值。
如果key 不是字符串类型,那么返回一个错误。
MSET
示例:127.0.0.1:6379> MSET key value [key value ...]
返回值:
总是返回 OK (因为 MSET 不可能失败)
MGET
示例:MGET key [key ...]
返回值:
一个包含所有给定 key 的值的列表。
INCR
说明:将 key 中储存的数字值增一。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内
示例:
redis> SET page_view 20 OK redis> INCR page_view (integer) 21 redis> GET page_view # 数字值在 Redis 中以字符串的形式保存 "21"
返回值: 执行 INCR 命令之后 key 的
DECR
说明:将 key 中储存的数字值减一。 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 本操作的值限制在 64 位(bit)有符号数字表示之内。
示例: # 对存在的数字值 key 进行 DECR redis> SET failure_times 10 OK redis> DECR failure_times (integer) 9 # 对不存在的 key 值进行 DECR redis> EXISTS count (integer) 0 redis> DECR count (integer) -1 # 对存在但不是数值的 key 进行 DECR redis> SET company YOUR_CODE_SUCKS.LLC OK redis> DECR company (error) ERR value is not an integer or out of range 返回值: 执行 DECR 命令之后 key 的值
INCRBY
说明:将 key 所储存的值加上增量 increment 示例: # key 存在且是数字值 redis> SET rank 50 OK redis> INCRBY rank 20 (integer) 70 redis> GET rank "70" # key 不存在时 redis> EXISTS counter (integer) 0 redis> INCRBY counter 30 (integer) 30 redis> GET counter "30" # key 不是数字值时 redis> SET book "long long ago..." OK redis> INCRBY book 200 (error) ERR value is not an integer or out of range
返回值: 加上 increment 之后, key 的值
DECRBY
说明:将 key 所储存的值减去减量 decrement 示例: redis> SET count 100 OK redis> DECRBY count 20 (integer) 80 # 对不存在的 key 进行DECRBY redis> EXISTS pages (integer) 0 redis> DECRBY pages 10 (integer) -10 返回值: 减去 decrement 之后, key 的值
EXISTS
说明:检查给定 key 是否存在 示例:EXISTS key 返回值:若 key 存在,返回 1 ,否则返回 0
EXPIRE
说明: 为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除 示例: redis> SET cache_page "www.google.com" OK redis> EXPIRE cache_page 30 # 设置过期时间为 30 秒 (integer) 1 redis> TTL cache_page # 查看剩余生存时间 (integer) 23 redis> EXPIRE cache_page 30000 # 更新过期时间 (integer) 1 redis> TTL cache_page (integer) 29996 返回值: 设置成功返回 1 。 当 key 不存在或者不能为 key 设置生存时间时(比如在低于 2.1.3 版本的 Redis 中你尝试更新 key 的生存时间),返回 0 。
TTL
说明:以秒为单位,返回给定 key 的剩余生存时间 示例:TTL key 返回值: 当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为单位,返回 key 的剩余生存时间
3.列表
操作命令:
RPUSH KEY VALUE : 命令可向list的右边(尾部)添加一个新元素
LPUSH KEY VALUE :命令可向list的左边(头部)添加一个新元素
LRANGE KEY START STOP :选择位置号查看start=0 stop=-1是查看list所有元素
LPOP KEY :命令可向list的左边(头部)删除一个元素
RPOP KRY :命令可向list的右边(尾部)删除一个元素
4.哈希
hash 看起来就像一个‘hash’的样子,由键值对组成
hmset 指令设置hash中的多个域
hget 取回单个域
hmget 取回一系列的值
HMSET key [field value ...]===========【一次性插入多条数据命令是:HMSET key field value field value field value...】 列如:HMGET user:100 user David age 21 job IT HMGET key field ======================【查询key的某一个字段所对应的值】 列如: HMGET user:100 user HGETALL key ==========================【查看某个key的所有的值】 列如:HGETALL user:100 HMGET key field ======================【插入一条数据】 列如: HMGET user:100 user
5.集合
集合是字符串的无序排列
SADD指令把新的元素添加都set中
SADD key member [member ...]
列如:SADD t1 1 3 5 7 9 【给t1 赋予1,3,5,7,9值】
SMEMBERS KEY
列如:SMEMBERS t1 【查看t1下的集合值】
SDIFF key [key ...]
列如:SDIFF t1 t2 【以t1为基础对比t2,把t2没有的值显示出来】
SINTER key [key ...]
列如:SINTER t1 t2 【t1和t2的交集点,把相同重复的数字显示出来】
SUNION key [key ...]
列如:SUNION t1 t2 【t1和t2的不重复的数字加载一起显示出来】
学海无涯,不进则退,日积跬步,以至千里。本博客所写内容仅为个人在学习和研究过程中的一些心得体会及总结笔记,仅代表个人观点。一切以官方为准,版本差异请自行甄别

浙公网安备 33010602011771号