加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Redis实战之HashMap

发布时间:2020-12-16 04:41:02 所属栏目:安全 来源:网络整理
导读:《Redis实战之HashMap》要点: 本文介绍了Redis实战之HashMap,希望对您有用。如果有疑问,可以联系我们。 前言 在游戏服务器的设计过程中,涉及到用户游戏数据的存储和读取,使用Mysql对其进行操作在必定程度上会增加与数据库的交互,并且效率太低.在查询了资

《Redis实战之HashMap》要点:
本文介绍了Redis实战之HashMap,希望对您有用。如果有疑问,可以联系我们。

前言

在游戏服务器的设计过程中,涉及到用户游戏数据的存储和读取,使用Mysql对其进行操作在必定程度上会增加与数据库的交互,并且效率太低.在查询了资料后决定采用Redis中的HashMap对数据进行实时更新,利用定时任务机制将每个10分钟将Hashmap中的数据同步到数据库中.首先介绍一下Redis和HashMap:

Redis

Redis实战之HashMap

Redis

Remote Dictionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统.Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API.它通常被称为数据布局服务器,因为值(value)可以是 字符串(String),哈希(Map),列表(list),集合(sets) 和 有序集合(sorted sets)等类型.

HashMap

相似C#中的dict类型或者C++中的hash_map类型.

Redis Hash对应Value内部实际就是一个HashMap,实际这里会有2种不同实现,这个Hash的成员比拟少时Redis为了节省内存会采用类似一维数组的方式来紧凑存储,而不会采用真正的HashMap结构,对应的value redisObject的encoding为zipmap,当成员数量增大时会自动转成真正的HashMap,此时encoding为ht.

利用场景

假设有多个用户及对应的用户信息,可以用来存储以用户ID为key,将用户信息以key-value的情势进行存储.

相关敕令

  • HDEL

    HDEL key field[field...] 删除工具的一个或几个属性域,不存在的属性将被忽略

  • HEXISTS

    HEXISTS key field 查看工具是否存在该属性域

  • HGET

    HGET key field 获取工具中该field属性域的值

  • HGETALL

    HGETALL key 获取工具的所有属性域和值

  • HKEYS

    HKEYS key 获取工具的所有属性字段

  • HVALS

    HVALS key 获取工具的所有属性值

  • HLEN

    HLEN key 获取工具的所有属性字段的总数

  • HMGET

    HMGET key field[field...] 获取工具的一个或多个指定字段的值

  • HSET

    HSET key field value 设置工具指定字段的值

  • HMSET

    HMSET key field value [field value ...] 同时设置工具中一个或多个字段的值

  • HSTRLEN

    HSTRLEN key field 返回工具指定field的value的字符串长度,如果该工具或者field不存在,返回0.

  • HSCAN

    HSCAN key cursor [MATCH pattern] [COUNT count] 相似SCAN命令

使用处景

127.0.0.1:6379> hset 101 name jack

(integer) 1

127.0.0.1:6379> hset 101 age 20

(integer) 1

127.0.0.1:6379> hset 101 sex male

(integer) 1

127.0.0.1:6379> hgetall 101

1) "name"

2) "jack"

3) "age"

4) "20"

5) "sex"

6) "male"

127.0.0.1:6379> hget 101 name

"jack"

PHP完成

Redis实战之HashMap

Redis实战之HashMap

Redis实战之HashMap

欢迎参与《Redis实战之HashMap》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读