千家信息网

怎样进行Redis入门的解析

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

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

数据 命令 数据库 类型 元素 支持 内存 两端 复杂 复杂度 头部 字典 尾部 时间 速度 帮助 测试 新鲜 有序 清楚 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全预算占比总项目 明政学院软件开发 苏州软件开发定制要多少钱 内蒙古现代软件开发要多少钱 熊猫酒仙服务器 四川新一代软件开发服务参考价格 数据库加密游戏就打不开 中文科技期刊数据库工业技术 大学查分系统中网络技术研究 地铁图标软件开发 虹口区智能化软件开发服务收费 activemq 服务器 pixiv注册服务器出错 高级数据库工程师培训 金仓数据库的模式是什么意思 云南科技有限公司软件开发 天地劫诸星神耀服务器 网络安全类专业如何赚外快 流星网络安全 格式化能删除数据库吗 绝地求生分别是哪些服务器 计算机网络技术专业毕业要求 华东师范大学公共数据库跨校交流 网络安全行业商机 衡阳口碑好的软件开发哪家便宜 公安局和网络安全公司合作 易企优网络技术有限公司 特来电软件开发 建议推动网络安全 游戏 千年 永恒服务器
0