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<t\x0e\xeb'\x9cE"
1.8 exists判断建是否存在
127.0.0.1:6379> exists a
(integer) 1
127.0.0.1:6379> exists f
(integer) 0
1.9 type返回键的类型
127.0.0.1:6379> type a
String
1.10RENAME重命名键
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"
1.11expire设置键的到期时间
127.0.0.1:6379> expire A 60
(integer) 1
1.12TTL查看到期时间
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
1.13Persist 移除到期时间
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
1.14Del 移除键
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"
1.15getrange以字符串下标获取字符串指定长度的值
127.0.0.1:6379> getrange a 0 1
"88"
1.16append追加值
127.0.0.1:6379> append a 999
(integer) 6
2 List列表常用命令
2.1 rpush从列表右侧添加值
127.0.0.1:6379> rpush fruit orange
(integer) 1
2.2 lrange从列表获指定长度的值
127.0.0.1:6379> lrange fruit 0 -1
1) "orange"
2.3 rpush从列表右侧添加值
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
2.4 rpop移除最右边的值
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"
3 Sets集合常用操作命令
3.1 Sadd将一个或多个元素加到集合
127.0.0.1:6379> sadd set001 s1
(integer) 1
127.0.0.1:6379> sadd set001 s5 s6 s7
(integer) 3
3.2 scard查看集合长度
127.0.0.1:6379> scard set001
(integer) 7
3.3 Smembers获取集合所有元素
127.0.0.1:6379> smembers set001
1) "s4"
2) "s3"
3) "s1"
4) "s2"
5) "s6"
6) "s5"
7) "s7"
3.4 sismember判断一个值是否在集合中
127.0.0.1:6379> sismember set001 s1
(integer) 1
127.0.0.1:6379> sismember set001 s8
(integer) 0
3.5 srem移除一个或多个
127.0.0.1:6379> srem set001 s1 s2
(integer) 2
3.6 smove将元素重一个集合 移动到另一个集合
127.0.0.1:6379> smove set001 set002 s7
(integer) 1
127.0.0.1:6379> smembers set002
1) "s001"
2) "s7"
4 hash散列常用操作命令
4.1 hset为散列设置值
127.0.0.1:6379> hset hash001 name zhangsan
(integer) 1
127.0.0.1:6379> hset hash001 age 28 class 3
(integer) 2
4.2 Hget获取指定键的值
127.0.0.1:6379> hget hash001 name
"zhangsan"
4.3 Hmget获取多个键的值
127.0.0.1:6379> hmget hash001 name age class
1) "zhangsan"
2) "28"
3) "3"
4.4 hgetall获取所有键值
127.0.0.1:6379> hgetall hash001
1) "name"
2) "zhangsan"
3) "age"
4) "28"
5) "class"
6) "3"
4.5 hkeys获取所有键
127.0.0.1:6379> hkeys hash001
1) "name"
2) "age"
3) "class"
4.6 hvals获取所有值
127.0.0.1:6379> hvals hash001
1) "zhangsan"
2) "28"
3) "3"
4.7 hdel删除指定建值
127.0.0.1:6379> hdel hash001 name
(integer) 1
5 Sorted Sets有序集合
5.1 ZADD 为有序集合添加一个或多个键值
127.0.0.1:6379> zadd class 1 zhangsan 2 lisi 3 wangwu
(integer) 3
5.2 zcard获取集合中元素的个数
127.0.0.1:6379> zcard class
(integer) 3
5.3 Zrange指定下标内的元素
127.0.0.1:6379> zrange class 1 2
1) "lisi"
2) "wangwu"
5.4 zrem移除指定元素
127.0.0.1:6379> zrem class zhangsan
(integer) 1