php redis hashmap,Redis实战之HashMap

前言

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

Redis

8983ca157f292d6a608492d8cefc6f32.gif

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"

87bb606638fc6435537b9ca3483830ae.png

e9c4b23b45bfad855f281f774505a486.png

24185a2d95543c60546176d447152234.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值