redis 数据库数据类型
string hash set list zset
1.String
string redis最简单的数据类型,是二进制安全的
redis的string 可以包含任何数据 比如jpg图片或者序列化的对象
String 设置
set
设置key对应的值为string类型的value
例如:添加一个name=lijie的键值对
redis 127.0.0.1:6379>set name lijie
- Setnx 设置key对应的值为String类型的value,如果key已经存在,返回0,nx是not exit的意思
- Setex 设置key对应的值为string类型的value,并制定此键值对的有效期:setex color 10 red
- Setrange 设置指定key的value值得子字符串 setrange name 6 gmali.com 返回字符串长度
- mset 一次性设置多个key的值,成功返回OK表示所有的值都设置了,返回0不成功表示所有的都没有设置成功
- msetnx
get 获取一个key的值
- getset 设置key的值 并返回key的旧值
- getrange 获取key的value值的子字符串 getrange email 0 6
- mget 一次获取多个key的值,如果对应key不存在,则对应返回nil
- incr 对key的值做加加操作,并返回新的值
- incrby 同incr类似,加指定值,key不存在时会设置key,并认为原来的value为0 incrby key 5
- decr 减减
- decrby 指定减减量
- append给指定key的字符串追加value,返回新字符串值的长度 append name value
- strlen 取指定key的value值得长度
2.hashes类型
redis hash是一个String类型的field和value的映射表。他的添加、删除操作都是0(1)(平均)。
hash特别适合用于存储对象。相较于将对象的每个字段存成单个string类型,将一个对象存储在hash类型中会真用更少的内存,并且可以方便的存取整个对象。
- hset 设置hash field为执行值,如果key不存在则先创建 hset myhash fidle1 hello
hget
- hsetnx 设置hash field 为指定值,如果key不存在则先创建。如果存在返回0
- hmset 通知设置hash的多个field
- hmget 获取指定field的所有value
- hincrby
- hexists 测试指定field是否存在
- hlen 返回指定hash的field的数量
- hdel 删除指定hash 的field hdel myhash name
- hkeys 返回hash的所有的field
- hvals 返回hash的所有value
- hgetall 获取hash中全部的field及value