千家信息网

怎样进行Redis入门的解析

发表于:2024-10-09 作者:千家信息网编辑
千家信息网最后更新 2024年10月09日,怎样进行Redis入门的解析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1. Redis 简介Redis (REmot
千家信息网最后更新 2024年10月09日怎样进行Redis入门的解析

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

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> pingPONGredis 127.0.0.1:6379> KEYS *1) "logn"redis 127.0.0.1:6379> select  111(error) ERR invalid DB indexredis 127.0.0.1:6379[111]> select  16(error) ERR invalid DB indexredis 127.0.0.1:6379[16]> select  15OKredis 127.0.0.1:6379[15]> KEYS *(empty list or set)redis 127.0.0.1:6379[15]> select 0OKredis 127.0.0.1:6379> keys *1) "logn"redis 127.0.0.1:6379>
  1. 通过select命令切换数据库

  2. 不支持数据库重命名

  3. 一个空的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' commandredis 127.0.0.1:6379> SET logn='helloredis'(error) ERR wrong number of arguments for 'set' commandredis 127.0.0.1:6379> SET logn  helloredisOKredis 127.0.0.1:6379> GET logn"helloredis"redis 127.0.0.1:6379> TYPE lognstringredis 127.0.0.1:6379> EXIST logn(error) ERR unknown command 'EXIST'redis 127.0.0.1:6379> EXISTS logn(integer) 1redis 127.0.0.1:6379> DEL logn(integer) 1redis 127.0.0.1:6379> DEL logn(integer) 0redis 127.0.0.1:6379> EXISTS logn(integer) 0redis 127.0.0.1:6379>

2.3 incr 和decr

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

2.4 批量设置,读取MSET,MGET

redis 127.0.0.1:6379> MSET a1 1 a2 2 a3 3OKredis 127.0.0.1:6379> MGET a11) "1"redis 127.0.0.1:6379> KEYS *1) "a2"2) "a3"3) "num"4) "a1"redis 127.0.0.1:6379> MGET a21) "2"redis 127.0.0.1:6379> MGET a31) "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) 0redis 127.0.0.1:6379> HSET car1 price  30w(integer) 1redis 127.0.0.1:6379> HSET car2  name  AUDIO(integer) 0redis 127.0.0.1:6379> HSET car2  price  20w(integer) 1redis 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  10wOK

判断field是否存在 HEXISTS

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

增加命令HINCRBY

删除命令HDEL

获取field或者value

redis 127.0.0.1:6379> HKEYS car11) "name"2) "price"redis 127.0.0.1:6379> HKEYS car21) "name"2) "price"redis 127.0.0.1:6379> HKEYS car31) "name"2) "price"redis 127.0.0.1:6379> HVALS  car11) "AUDIO"2) "30w"redis 127.0.0.1:6379> HVALS  car21) "AUDIO"2) "20w"redis 127.0.0.1:6379> HVALS  car31) "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) 1redis 127.0.0.1:6379> LPUSH numbers 2 1(error) ERR wrong number of arguments for 'lpush' commandredis 127.0.0.1:6379> LPUSH numbers 2(integer) 2redis 127.0.0.1:6379> RPUSH  numbers  5(integer) 3redis 127.0.0.1:6379> LPOP numbers"2"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"5"redis 127.0.0.1:6379> LRANGE  0  2(error) ERR wrong number of arguments for 'lrange' commandredis 127.0.0.1:6379> LRANGE numbers 0  21) "3"redis 127.0.0.1:6379>

2.7 集合类型

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

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

0