怎样进行Redis入门的解析

102次阅读
没有评论

共计 4174 个字符,预计需要花费 11 分钟才能阅读完成。

怎样进行 Redis 入门的解析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面丸趣 TV 小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1. Redis 简介

Redis (REmote dictionary server) 远程字典服务器,以字典结构存储数据。

目前支持的键值类型包括:

字符串,散列,列表,集合类型,有序集合

Redis 所有数据在内存中,读取速度快,但是程序退出后,内存数据会丢失,所以 redis 支持异步数据持久化。

Redis 功能丰富,也可以用作缓存,队列系统

Redis 和 memcached 很类似,都是基于 key value 的内存数据库

使用简单,如果查询的 sql 如下

select title from posts where id = 1 limit 1

如果使用 redis 语句,如下:  HGET post:1 title

  几十种客户端编程语言支持,提供了丰富的库

2 入门命令测试
2.1 多数据库

redis 默认提供 16 个数据库,0-15,测试如下

redis 127.0.0.1:6379  ping
redis 127.0.0.1:6379  KEYS *
1)  logn 
redis 127.0.0.1:6379  select 111
(error) ERR invalid DB index
redis 127.0.0.1:6379[111]  select 16
(error) ERR invalid DB index
redis 127.0.0.1:6379[16]  select 15
redis 127.0.0.1:6379[15]  KEYS *
(empty list or set)
redis 127.0.0.1:6379[15]  select 0
redis 127.0.0.1:6379  keys *
1)  logn 
redis 127.0.0.1:6379

通过 select 命令切换数据库

不支持数据库重命名

一个空的 redis 实例占用 1M 内存,轻量级

2.2 键值相关命令

SET 

GET

KEYS

DEL

TYPE

EXISTS

redis 127.0.0.1:6379  SET logn= hello redis 
(error) ERR wrong number of arguments for  set  command
redis 127.0.0.1:6379  SET logn= helloredis 
(error) ERR wrong number of arguments for  set  command
redis 127.0.0.1:6379  SET logn helloredis
redis 127.0.0.1:6379  GET logn
 helloredis 
redis 127.0.0.1:6379  TYPE logn
string
redis 127.0.0.1:6379  EXIST logn
(error) ERR unknown command  EXIST 
redis 127.0.0.1:6379  EXISTS logn
(integer) 1
redis 127.0.0.1:6379  DEL logn
(integer) 1
redis 127.0.0.1:6379  DEL logn
(integer) 0
redis 127.0.0.1:6379  EXISTS logn
(integer) 0
redis 127.0.0.1:6379

2.3 incr 和 decr 

redis 127.0.0.1:6379  incr num
(integer) 1
redis 127.0.0.1:6379  incr num
(integer) 2
redis 127.0.0.1:6379  incr num
(integer) 3
redis 127.0.0.1:6379  incrby num 4
(integer) 7
redis 127.0.0.1:6379  decrby num 2
(integer) 5
redis 127.0.0.1:6379  decr num
(integer) 4
redis 127.0.0.1:6379

2.4   批量设置,读取 MSET,MGET

redis 127.0.0.1:6379  MSET a1 1 a2 2 a3 3
redis 127.0.0.1:6379  MGET a1
1)  1 
redis 127.0.0.1:6379  KEYS *
1)  a2 
2)  a3 
3)  num 
4)  a1 
redis 127.0.0.1:6379  MGET a2
1)  2 
redis 127.0.0.1:6379  MGET a3
1)  3 
redis 127.0.0.1:6379

2.5   散列类型

car:1—– name— value

HSET,  HGET,

redis 127.0.0.1:6379  HSET car1 name AUDIO
(integer) 0
redis 127.0.0.1:6379  HSET car1 price 30w
(integer) 1
redis 127.0.0.1:6379  HSET car2 name AUDIO
(integer) 0
redis 127.0.0.1:6379  HSET car2 price 20w
(integer) 1
redis 127.0.0.1:6379  HGET car2 name
 AUDIO 
redis 127.0.0.1:6379  HGET car1 price
 30w 
redis 127.0.0.1:6379

设置多个 field,利用 HMSET

redis 127.0.0.1:6379  HMSET car3 name buick price 10w
OK

判断 field 是否存在 HEXISTS

redis 127.0.0.1:6379  HEXISTS car3 name
(integer) 1
redis 127.0.0.1:6379  HEXISTS car3 notexist
(integer) 0

增加命令 HINCRBY

删除命令 HDEL

获取 field 或者 value

redis 127.0.0.1:6379  HKEYS car1
1)  name 
2)  price 
redis 127.0.0.1:6379  HKEYS car2
1)  name 
2)  price 
redis 127.0.0.1:6379  HKEYS car3
1)  name 
2)  price 
redis 127.0.0.1:6379  HVALS car1
1)  AUDIO 
2)  30w 
redis 127.0.0.1:6379  HVALS car2
1)  AUDIO 
2)  20w 
redis 127.0.0.1:6379  HVALS car3
1)  buick 
2)  10w 
redis 127.0.0.1:6379

2.6   列表类型

1,一个列表类型键和散列一样,最多 2^32- 1 个元素

2.   利用双向链表实现,向两端添加元素时间复杂度是 o(1),获取越接近两端的元素速度越快。这意味着一个几千万的元素的列表,或者头部或者尾部的十条记录也是很快的。(和只有 20 个元素的列表中获取头部或者尾部的 10 条记录速度是一样的)。两端插入时间复杂度同样为 o(1)这种特性用于社交网络中的新鲜事,日志管理等,可以解决关系数据库无法应付的场景。

3.   缺点是通过索引访问比较慢,一个一个查找。

常用命令,LPUSH,LPOP,RPUSH,RPOP,LRANGE

redis 127.0.0.1:6379  LPUSH numbers 3
(integer) 1
redis 127.0.0.1:6379  LPUSH numbers 2 1
(error) ERR wrong number of arguments for  lpush  command
redis 127.0.0.1:6379  LPUSH numbers 2
(integer) 2
redis 127.0.0.1:6379  RPUSH numbers 5
(integer) 3
redis 127.0.0.1:6379  LPOP numbers
redis 127.0.0.1:6379  RPOO number
(error) ERR unknown command  RPOO 
redis 127.0.0.1:6379  RPOO numbers
(error) ERR unknown command  RPOO 
redis 127.0.0.1:6379  RPOP numbers
redis 127.0.0.1:6379  LRANGE 0 2
(error) ERR wrong number of arguments for  lrange  command
redis 127.0.0.1:6379  LRANGE numbers 0 2
1)  3 
redis 127.0.0.1:6379

2.7   集合类型

redis 127.0.0.1:6379  SADD letters a b c
(integer) 3
redis 127.0.0.1:6379  SMEMBERS letters
1)  c 
2)  a 
3)  b 
redis 127.0.0.1:6379  SREM a
(error) ERR wrong number of arguments for  srem  comman
redis 127.0.0.1:6379  SREM letters a
(integer) 1
redis 127.0.0.1:6379  SADD letters2 c d e
(integer) 3
redis 127.0.0.1:6379  SDIFF letters letters2
1)  b 
redis 127.0.0.1:6379  SDIFF letters2 letters
1)  d 
2)  e 
redis 127.0.0.1:6379  SMEMBERS letters
1)  c 
2)  b 
redis 127.0.0.1:6379  SMEMBERS letters2
1)  c 
2)  d 
3)  e 
redis 127.0.0.1:6379

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注丸趣 TV 行业资讯频道,感谢您对丸趣 TV 的支持。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计4174字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)