zhuangjinxin / blog

:notebook: 个人博客 技术分享 整理笔记
http://blog.zhuangjinxin.top
7 stars 0 forks source link

Redis基础操作全览 #24

Closed zhuangjinxin closed 6 years ago

zhuangjinxin commented 7 years ago

Redis简介

zhuangjinxin commented 7 years ago

Redis安装

zhuangjinxin commented 7 years ago

Redis String类型及操作

String是最简单的类型,一个Key对应一个Value,String类型是二进制安全的,可以包含任何数据,比如jpg图片或序列化的对象。

命令 说明 示例
set 设置Key对应的值为string类型的Value。如果多次对同一个Key进行Set操作,值会被覆盖 set name zhuangjinxin
get 获取Key对应的string值,如果Key不存在返回nil get name
mset 一次设置多个Key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置 mset version 10.12.4 memory 8g
mget 一次获取多个key的值,如果对应key不存在则对应返回nil mget version memory
setrange 设置指定Key的value值的子字符串 setrange name 7 xiaoxiao
getrange 获取Key的Value值的子字符串 getrange name 0 5
setnx 设置Key对应的值为string类型的Value。如果Key已经存在,则返回数字0。nx表示"not exist"意思 setnx name zhuangjinxin
msetnx 一次设置多个Key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置,但是不会覆盖已经存在的Key msetnx age 18 qq 987654321
getset 设置key的值,并返回key的旧值 getset age 20
incr 对key的值做加加操作,步长为1,并返回新的值 incr age
incrby 同incr类似,加指定值,key不存在时会设置key,并认为原来的value是0 incrby age 2
decr 对key的值做减减操作,步长为1 decr age
decrby 同decr类似,减指定值 decrby age 2
append 给指定key的字符串追加value,返回新字符串值的长度 append name @hotmail.com
strlen 取指定key的value值的长度 strlen name
zhuangjinxin commented 7 years ago

Redis Hash类型及操作

Redis hash是一个string类型的field和value的映射表。它的添加、删除操作都是O(1)(平均)。hash特别适用于存储对象。相较于对象的每个字段存在单个string类型。将一个对象存储在hash类型中会占用更小的内存,并且可以更方便的存取整个对象

命令 说明 样例
hset 设置hash field为指定值,如果key不存在,则先创建 hset user:001 name zhuangjinxin
hget 获取指定的hash field hget user:001 name
hsetnx 设置hash field为指定值,如果key不存在,则先创建。如果存在则返回0 hset user:001 name jason
hmset 同时设置hash的多个字段 hmset user:002 id 2 name zhuangjinxin gender male age 17
hmget 获取全部指定的hash field hmget user:002 id name gender age
hincrby 指定的hash field加上给定值 hincrby user:002 age 3
hexists 测试指定field在hash中是否存在 hexists user:002 name
hlen 返回指定hash的field数量 hlen user:002
hdel 删除指定hash的field hdel user:002 gender
hkeys 返回hash的所有field hkeys user:002
hvals 返回hash的所有value hvals user:002
hgetall 获取某个hash中全部的field及value hgetall user:002