1.String(字符串)增删改查
#增加一个key为redis_string值
127.0.0.1:6380> set redis_string "ceshi"
OK
#查看redis_string的值
127.0.0.1:6380> get redis_string
"ceshi"
#修改redis_string的值
127.0.0.1:6380> set redis_string "hello"
OK
127.0.0.1:6380> get redis_string
"hello"
#重命名
127.0.0.1:6380> rename redis_string rediString
OK
127.0.0.1:6380> get rediString
"hello"
#删除redis_string
127.0.0.1:6380> del rediString
(integer) 1
#判断rediString是否存在
127.0.0.1:6380> exists rediString
(integer) 0
0表示不存在 1表示存在
2.Set(集合)增删改查
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)
#生成set集合,添加4个数据
127.0.0.1:6380> sadd set_ay_key "a" 'b' 'c' 'd'
(integer) 1
#查询set里面所有值
127.0.0.1:6380> smembers set_ay_key
1) "c"
2) "b"
3) "d"
4) "a"
#删除value为"a" , 返回 1 如果没有返回 0
127.0.0.1:6380> srem set_ay_key a
(integer) 1
127.0.0.1:6380> smembers set_ay_key
1) "c"
2) "b"
3) "d"
#添加集合字段
127.0.0.1:6380> sadd set_ay_key 'e'
(integer) 1
127.0.0.1:6380> smembers set_ay_key
1) "c"
2) "e"
3) "b"
4) "d"
#再添加b,没有添加成功,返回0 ,因为set是不允许重复的
127.0.0.1:6380> sadd set_ay_key 'b' (integer) 0
3.List(集合)增删改查
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)
#类似于压栈操作,将元素放入头部
127.0.0.1:6380> lpush plist ch0 ch1 ch2
(integer) 3
#查看全部
127.0.0.1:6380> lrange plist 0 3
1) "ch2"
2) "ch1"
3) "ch0"
#rpush将元素push在list的尾部
127.0.0.1:6380> rpush plist ch6
(integer) 4
#查看单一
127.0.0.1:6380> lindex plist 2
"ch0"
#插入到指定位置,返回list长度
127.0.0.1:6380> linsert plist after ch1 cha
(integer) 5
#lpop 、rpop:分别为删除头部和尾部,返回被删除的元素
#保留区域,其他删除
127.0.0.1:6380> ltrim plist 2 4
OK
127.0.0.1:6380> lrange plist 0 -1
1) "cha"
2) "ch0"
3) "ch6"
#lrem [lrem key count value] :
移除等于value的元素,当count>0时,从表头开始查找,移除count个;
当count=0时,从表头开始查找,移除所有等于value的;
当count<0时,从表尾开始查找,移除|count| 个
#修改值
lset plist 1 ch2
4.Hash集合(类似Java)增删改查
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。
Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)
#生成hash集合,并添加key
127.0.0.1:6380> hset hash_key 'name' 'wz'
(integer) 1
#查看长度
127.0.0.1:6380> hlen hash_key
(integer) 1
#查看集合中所有的key
127.0.0.1:6380> hkeys hash_key
1) "name"
#查看所有的value
127.0.0.1:6380> hvals hash_key
1) "wz"
#获得key为name的值
127.0.0.1:6380> hget hash_key 'name'
"wz"
#删除key为name的值
127.0.0.1:6380> hdel hash_key 'name'
(integer) 1
127.0.0.1:6380> hget hash_key 'name'
(nil)
#添加值
127.0.0.1:6380> hset hash_key 'name' 'wz'
(integer) 1
127.0.0.1:6380> hset hash_key 'name1' 'wz1'
(integer) 1
#获得所有,包括key和value
127.0.0.1:6380> hgetall hash_key
1) "name"
2) "wz"
3) "name1"
4) "wz1"
SortedSet(ZSet集合)增删改查 ---->有序集合(sorted set)
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
#添加
127.0.0.1:6380> zadd zset_key 1 'a'
(integer) 1
127.0.0.1:6380> zadd zset_key 2 'b'
(integer) 1
127.0.0.1:6380> zadd zset_key 3 'c'
(integer) 1
#查看
127.0.0.1:6380> zrange zset_key 0 -1
1) "a"
2) "b"
3) "c"
#删除
127.0.0.1:6380> zrem zset_key 'a'
(integer) 1
127.0.0.1:6380> zrange zset_key 0 -1
1) "b"
2) "c"
# keys * 查看所有key
# flushdb 删除当前选择数据库中的所有key
# info 查看系统信息
网友评论