做策划的人经常浏览的网站,保定满城网站建设,一个网站怎么做pc和移动端,怎么做房地产网站文章目录 概述安装编译 string数据结构基础命令应用对象存储累加器 list结构基础命令应用栈(先进后出FILO)队列 HASH基础命令存储结构应用存储对象 小结 概述
redis 是一个远程字典服务#xff1b;当然#xff0c;redis是内存数据库#xff0c;kv数据库#xff0c;最基础的… 文章目录 概述安装编译 string数据结构基础命令应用对象存储累加器 list结构基础命令应用栈(先进后出FILO)队列 HASH基础命令存储结构应用存储对象 小结 概述
redis 是一个远程字典服务当然redis是内存数据库kv数据库最基础的数据结构有(string, list, hash, set, zset)几种。
安装编译
在ubuntu云服务器上安装有以下步骤 git clone https://gitee.com/mirrors/redis.git -b 6.2 cd redis/ make make test sudo make install
string数据结构
字符数组redis字符串是二进制安全字符串可以存储图片等二进制数据 内部实际存储根据string的数据特征可以采用int, embstr, raw存储。
基础命令
set key val get key 执行原子加一的操作 incr key incrby key increment decr key decrby key decrement
setnx key value del key
应用
应用方面比较多主要用于对象存储累加器等。
对象存储
set role:100001 {[name]: a, [sex]:male, [age]:20}
get role:100001
#这个格式比较固定几乎都是如此存储的累加器
#统计数量 累计加1
incr times
# 累计加到1000
incrby times 1000list结构
对于list来说它是一个首尾相连接的双向链表链表首尾操作时间复杂度O(1)查找中间元素时间复杂度O(n); 列表中数据可能会被压缩
元素长度小于48不压缩元素压缩前后长度不超过8不压缩
基础命令
#左侧插入 左侧获取key
LPUSH key value
LPOP key#右侧插入 右侧获取key
RPUSH key value
RPOP keyLRANGE key start end
LREM key count value
应用
栈(先进后出FILO)
LPUSH LPOP
# 或者
RPUSH RPOP队列
LPUSH RPOP
#或者
RPUSH LPOPHASH
字典结构通过hash函数(而不是通过比较key的方式)来确定节点的位置hash这个数据结构不多介绍可以参考我之前的文章。
基础命令
HGET key field
HSET key field valueHMSET key field1 value1 field2 value2
HMGET key field1 field2HINCRBY key field increment
HLEN keyHDEL key field存储结构
当节点数量少的时候并且字符串长度小的时候内部采用压缩列表存储否则采用字典实现
应用
存储对象 hmset hash:10001 name a age 18 sex male# 与 string 比较
set hash:10001 {[name]:a,[sex]:male,[age]:18,[money]:1000000}# 假设现在修改 a的年龄为29岁
# hash:hset hash:10001 age 29# string: get role:10001# 将得到的字符串调用json.decode解密取出字段修改 age 值# 再调用json加密set role:10001 {[name]:a,[sex]:male,[age]:29}小结
当然了redis是一个内存数据库存储在内存当中如果遇到服务器宕机这些数据就不存在了所以有些数据需要配合mysql数据库一起使用。这篇写的是redis的基础部分数据结构也写了几个感觉还好可以一起来学习学习。OK翻篇。