Redis 常用数据类型有String 类型,Hash 类型,List 类型,Set 类型,。其中常用的是前三个。
String 类型
String 是 redis 最基本的类型,一个key对应一个value。
赋值:set key value
取值:get key
批量赋值:mset key value ... keyN valueN
批量取值:mget key ... keyN
取值并赋值:getset key value
删除key:del key ... keyN
数值加一:incr key
数值加N:incrby key n
数值减一:decr key
数值减N:decrby key n
字符串追加:append key value
字符串长度:strlen key
注 形如"key ... keyN" 表示可以批量操作
192.168.210.85:6379> set key value
OK
192.168.210.85:6379> get key
"value"
192.168.210.85:6379> mset key1 1 key2 2
OK
192.168.210.85:6379> mget key1 key2
1) "1"
2) "2"
192.168.210.85:6379> del key
(integer) 1
192.168.210.85:6379> incr count
(integer) 1
192.168.210.85:6379> incrby count 10
(integer) 11
192.168.210.85:6379> decr count
(integer) 10
192.168.210.85:6379> decrby count 4
(integer) 6
Hash 散列类型
Redis hash 是一个键值对集合,和Java 的HashMap 类似。
Redis hash 是一个String 类型的 field 和 value 的映射表,hash特别适合用于存储对象(key 可以是对象+id,field 是对象属性,value则是属性值)。
给一个字段赋值:hset key field value
给多个字段赋值:hmset key field value ... fieldN valueN
取一个字段的值:hget key field
取多个字段的值:gmset key field ... fieldN
取所有的字段名和值:hgetall key
删除字段名和值:hdel key field ... fieldN
判断字段是否存在:hexists key field
获取key的所有field:hkeys key
获取key的所有value:hvals key
获取field个数:hlen key
注:这里的field 就是 字段名,value 就是字段值
192.168.210.85:6379> hset user name itdragon
(integer) 1
192.168.210.85:6379> hget user name
"itdragon"
192.168.210.85:6379> hmset user position java study redis
OK
192.168.210.85:6379> hmget user position study
1) "java"
2) "redis"
192.168.210.85:6379> hgetall user
1) "name"
2) "itdragon"
3) "position"
4) "java"
5) "study"
6) "redis"
192.168.210.85:6379>
List 类型
Redis 列表是采用来链表来存储的简单字符串列表,按照插入顺序排序。添加元素一般从链表两端开始。
向列表左侧加元素:lpush key value ... valueN
向列表右侧加元素:rpush key value ... valueN
遍历列表:lrange key startIndex endIndex
获取List长度:llen key
通过下标获取值:lindex key index
通过下标设置值:lset key index value
列表左侧移除第一个元素:lpop key
列表右侧移除第一个元素:rpop key
截取保留剩下的列表:ltrim key startIndex endIndex
在制定元素插入值:linsert key after/before index value
把集合第一个元素移到其他集合中:rpoplpush key otherListKey
注:若endIndex=-1 表示最后一位;otherListKey 表示其他集合
192.168.210.85:6379> lpush list 1 2
(integer) 2
192.168.210.85:6379> lpush list 100 200
(integer) 4
192.168.210.85:6379> lrange list 0 -1
1) "200"
2) "100"
3) "2"
4) "1"
192.168.210.85:6379> lpop list
"200"
192.168.210.85:6379> rpop list
"1"
192.168.210.85:6379> llen list
(integer) 2
192.168.210.85:6379> lindex list 1
"2"
192.168.210.85:6379> linsert list after 1 2
(integer) -1
192.168.210.85:6379> linsert list before 100 200
(integer) 3
192.168.210.85:6379>
Set 类型
Redis 的 Set 是String类型的无序集合。它是通过HashTable实现实现的,用法和List 类型很相似。
新增集合元素:sadd key value ... valueN
删除集合元素:srem key value ... valueN
获取集合所有元素:smembers key
判断集合元素是否存在:sismember key value
集合差集:sdiff key1 key2
集合交集:sinter key1 key2
集合并集:sunion key1 key2
获取集合长度:scard key1
192.168.210.85:6379> sadd set 1 2 3 4 5
(integer) 5
192.168.210.85:6379> srem set 1 2 3
(integer) 3
192.168.210.85:6379> smembers set
1) "4"
2) "5"
192.168.210.85:6379> sismember set 1
(integer) 0
192.168.210.85:6379> sismember set 5
(integer) 1
192.168.210.85:6379> sadd setA 1 2 3
(integer) 3
192.168.210.85:6379> sadd setB 3 4 5
(integer) 3
192.168.210.85:6379> sdiff setA setB
1) "1"
2) "2"
相关阅读:
1、Redis搭建和主从复制
2、Redis配置文件详细总结
3、欢迎加入技术交流