设为首页 收藏本站
查看: 1235|回复: 0

[经验分享] Redis的String、Hash类型命令

[复制链接]

尚未签到

发表于 2015-7-23 07:10:09 | 显示全部楼层 |阅读模式
DSC0000.jpg
  String是最简单的类型,一个Key对应一个Value,string类型是二进制安全的。Redis的string可以包含任何数据,比如jpg图片或者序列化的对象。最大上限是1G字节。
    Hash是一个string类型的field和value的映射表。它的添加、删除操作都是0(1)(平均)。hash特别适合用于存储对象。相较于将对象的每个字段存成单个string类型。将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。
 String字符类型Hash类型
设置一个键值>set name zhangsan
返回:OK
>hset h1 name zhangsan
设置新键返回int 1;覆盖旧值返回int 0;
批量设置多个键值>mset name zhangsan age 20 address china-beijing
批量设置name age address三个键(新值覆盖旧值)
成功返回OK,失败报错。
>hmset h1 name zhangsan age 22 city beijing
批量设置name age city三个值(新值覆盖旧值)
成功返回OK,失败报错。
设置一个事先不存在的键值>setnx color red
nx = not exist不存在的
返回:int 1/0
>hsetnx h1 city 'new york'
nx = not exist不存在的
返回:int 1/0
批量设置多个事先不存在的键值>msetnx school beida room 205
全部成功返回int 1,失败返回int 0,一个失败均失败。
 
设置一个有生命周期的键值>setex address 10 'china beijing chaoyang'
ex = expir[ɪks'pər]生存时间
单位:秒
 
获取原值并重设新值>getset name lisi  设置一个新值
"zhangsan" 返回原值
 
   
部分设置某键的值(替换)>setrange email 7 @gmail.com 从第7个偏移开始替换
>setrange name 0 lisi 从第0个偏移开始替换(从开头替换)
(integer) 8 成功返回替换后的字符长度(字节数)
注:偏移n1从0计数,不可为负值
 
向尾部追加值>append name 'lisi wangwu'
在字符末尾追加一段字符串,返回新值长度
 
指定键自增:+1>incr age
使整型数自增:+1
注:键若不存在就创建一个值为0的值并开始计算
 
指定键自增:+n>incrby age 3
使整型数据自增:+n,也可指定负值达到自减:-n目的
注:键若不存在就创建一个值为0的值并开始计算
>hincrby h1 age 2
使整型数据自增+n,也可指定负值达到自减:-n目的
注:键若不存在就创建一个值为0的值并开始计算
指定键自减:-1>decr age 
指定键自减:-n>decrby age 2 
   
获取一个键值>get name>hget h1 name
批量获取多个键值>mget name age address>hmget h1 name age sex
部分获取某键的值(字符串)>getrange name 2 3
"ang"
注:第一个偏移从首0计数(需n1>=0),第二个偏移正负均可(首、尾偏移值均为-1);
本例name原值为zhangsan
 
获取字符长度>strlen name
获取name的长度,单位:字节
 
获取数据库中所有键名>keys *     获取数据库中所有键名
>keys nam*  获取数据库中所有以“name”开头的键名
>keys nam*g 获取数据库中所有以“name”开头,并以“g”结尾的键名
>hkeys h1
获取h1内的所有键名;
注:每次只能获取1个hash表
   
【hash】获取单hash表所有值 >hvals h1
获取h1表的所有“值”;
注:每次只能获取1个hash表
【hash】获取单hash表所有
的“键-值”组合
 >hgetall h1
获取h1内的所有“键-值”组合;
注:每次只能获取1个hash表
【hash】判断某单个键是否存在 >hexists h1 age
判断age键是否存在,存在返回int 1,否则返回int 0
注:每次只能查看1个键
【hash】获取指定表的键的总数 >hlen h1
查看h1表的总的键的个数
注:每次只能查看1个hash表
【hash】删除表的若干个键 >hdel h1 age       删除h1表的age键
>hdel h1 name city 删除h1表的name city多个键
注:每次可删除多个键
   

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-89560-1-1.html 上篇帖子: Redis容量及使用规划 下篇帖子: Redis使用经验之谈
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表