1.redis数据类型
1)String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。 string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象。 string类型是Redis最基本的数据类型,一个键最大能存储512MB。 例:SET name "xiaoming" get name del name del如果键被删除成功,命令执行后输出 (integer) 1,否则将输出 (integer) 0 append name 123 追加 2)Hash(哈希) Redis hash 是一个键值(key=>value)对集合。 Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。 每个 hash 可以存储 232 -1 键值对(40多亿)。 HMSET key field value [field value ...] hashmap可存取多个字段 例:HMSET myhash field1 "Hello" field2 "World" HGET myhash field1 HSET key field value 3)List(列表) Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。 例:lpush name zhangsan lpush name lisi lrange name 0 10 BLPOP key1 [key2 ] timeout 移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。 BRPOP key1 [key2 ] timeout 移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。 LINDEX key index 通过索引获取列表中的元素 LLEN key 获取列表长度 4)Set(集合) Redis的Set是string类型的无序集合。 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 sadd添加一个string元素到,key对应的set集合中,成功返回1,如果元素已经在集合中返回0,key对应的set不存在返回错误。 sadd key member [member ...] 5)zset(有序集合) Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。 zset的成员是唯一的,但分数(score)却可以重复。 ZADD key [NX|XX] [CH] [INCR] score member [score member ...] ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]2.redis keys 命令 DEL key 该命令用于在 key 存在时删除 key。 DUMP key 序列化给定 key ,并返回被序列化的值。 EXISTS key 检查给定 key 是否存在。 EXPIRE key seconds 为给定 key 设置过期时间。 EXPIREAT key timestamp EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。 PEXPIRE key milliseconds 设置 key 的过期时间以毫秒计。 PEXPIREAT key milliseconds-timestamp 设置 key 过期时间的时间戳(unix timestamp) 以毫秒计 KEYS pattern 查找所有符合给定模式( pattern)的 key 。 MOVE key db 将当前数据库的 key 移动到给定的数据库 db 当中。 PERSIST key 移除 key 的过期时间,key 将持久保持。 PTTL key 以毫秒为单位返回 key 的剩余的过期时间。 TTL key 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。 RANDOMKEY 从当前数据库中随机返回一个 key 。 RENAME key newkey 修改 key 的名称 RENAMENX key newkey 仅当 newkey 不存在时,将 key 改名为 newkey 。 TYPE key 返回 key 所储存的值的类型。更多命令参考:https://redis.io/commands