redis 入门使用
一、Redis 数据类型及结构特点
Redis 最常见的5中数据结构有 String(字符串),List(列表),Set(集合),Hash(散列),Sorted Sets (有序集合),下表简单总结了五种数据结构的内部组成及特点。
二、Redis 数据类型常用命令
1 String 常用命令
1.1 SET 为指定建设置值 Set key value
1.2 get 获取指定建的值 get key
1.3 mset 为多个字符串设置对应的值 a 111 b 222 c 333
1.4 Mget获取多个字符串对应的值 get a b c
1.5 getset 获取指定字符串旧值并设置新值
1 127.0.0.1:6379> getset a 888
2 "111"
3 127.0.0.1:6379> get a
4 "888"
1.6 keys * 获取所有的key
1.7 Dump 返回序列化的键
127.0.0.1:6379> dump a
"\x00\xc0o\t\x00\x1f 127.0.0.1:6379> exists a (integer) 1 127.0.0.1:6379> exists f (integer) 0 127.0.0.1:6379> type a String 127.0.0.1:6379> RENAME a A OK 127.0.0.1:6379> get a (nil) 127.0.0.1:6379> get A "111" 127.0.0.1:6379> expire A 60 (integer) 1 127.0.0.1:6379> TTL A (integer) 37 127.0.0.1:6379> TTL A (integer) 12 127.0.0.1:6379> TTL A (integer) 1 127.0.0.1:6379> TTL A (integer) -2 127.0.0.1:6379> expire b 180 (integer) 1 127.0.0.1:6379> TTL b (integer) 171 127.0.0.1:6379> persist b (integer) 1 127.0.0.1:6379> TTL b (integer) -1 127.0.0.1:6379> keys * 1) "c" 2) "b" 127.0.0.1:6379> del b (integer) 1 127.0.0.1:6379> keys * 1) "c" 127.0.0.1:6379> getrange a 0 1 "88" 127.0.0.1:6379> append a 999 (integer) 6 127.0.0.1:6379> rpush fruit orange (integer) 1 127.0.0.1:6379> lrange fruit 0 -1 1) "orange" 127.0.0.1:6379> rpush fruit apple (integer) 2 127.0.0.1:6379> rpush fruit banner (integer) 3 127.0.0.1:6379> rpush fruit berry (integer) 4 127.0.0.1:6379> rpush fruit guava (integer) 5 127.0.0.1:6379> rpop fruit "guava" 127.0.0.1:6379> lrange fruit 0 -1 1) "orange" 2) "apple" 3) "banner" 4) "berry" 127.0.0.1:6379> sadd set001 s1 (integer) 1 127.0.0.1:6379> sadd set001 s5 s6 s7 (integer) 3 127.0.0.1:6379> scard set001 (integer) 7 127.0.0.1:6379> smembers set001 1) "s4" 2) "s3" 3) "s1" 4) "s2" 5) "s6" 6) "s5" 7) "s7" 127.0.0.1:6379> sismember set001 s1 (integer) 1 127.0.0.1:6379> sismember set001 s8 (integer) 0 127.0.0.1:6379> srem set001 s1 s2 (integer) 2 127.0.0.1:6379> smove set001 set002 s7 (integer) 1 127.0.0.1:6379> smembers set002 1) "s001" 2) "s7" 127.0.0.1:6379> hset hash001 name zhangsan (integer) 1 127.0.0.1:6379> hset hash001 age 28 class 3 (integer) 2 127.0.0.1:6379> hget hash001 name "zhangsan" 127.0.0.1:6379> hmget hash001 name age class 1) "zhangsan" 2) "28" 3) "3" 127.0.0.1:6379> hgetall hash001 1) "name" 2) "zhangsan" 3) "age" 4) "28" 5) "class" 6) "3" 127.0.0.1:6379> hkeys hash001 1) "name" 2) "age" 3) "class" 127.0.0.1:6379> hvals hash001 1) "zhangsan" 2) "28" 3) "3" 127.0.0.1:6379> hdel hash001 name (integer) 1 127.0.0.1:6379> zadd class 1 zhangsan 2 lisi 3 wangwu (integer) 3 127.0.0.1:6379> zcard class (integer) 3 127.0.0.1:6379> zrange class 1 2 1) "lisi" 2) "wangwu" 127.0.0.1:6379> zrem class zhangsan (integer) 11.8 exists判断建是否存在
1.9 type返回键的类型
1.10RENAME重命名键
1.11expire设置键的到期时间
1.12TTL查看到期时间
1.13Persist 移除到期时间
1.14Del 移除键
1.15getrange以字符串下标获取字符串指定长度的值
1.16append追加值
2 List列表常用命令
2.1 rpush从列表右侧添加值
2.2 lrange从列表获指定长度的值
2.3 rpush从列表右侧添加值
2.4 rpop移除最右边的值
3 Sets集合常用操作命令
3.1 Sadd将一个或多个元素加到集合
3.2 scard查看集合长度
3.3 Smembers获取集合所有元素
3.4 sismember判断一个值是否在集合中
3.5 srem移除一个或多个
3.6 smove将元素重一个集合 移动到另一个集合
4 hash散列常用操作命令
4.1 hset为散列设置值
4.2 Hget获取指定键的值
4.3 Hmget获取多个键的值
4.4 hgetall获取所有键值
4.5 hkeys获取所有键
4.6 hvals获取所有值
4.7 hdel删除指定建值
5 Sorted Sets有序集合
5.1 ZADD 为有序集合添加一个或多个键值
5.2 zcard获取集合中元素的个数
5.3 Zrange指定下标内的元素
5.4 zrem移除指定元素