redis

redis的增删改查

2020-06-08  本文已影响0人  宇晨棒棒的

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  查看系统信息

上一篇 下一篇

猜你喜欢

热点阅读