Redis学习笔记03--String数据类型
2016-07-05 14:30
501 查看
1.简述
String类型是Redis最简单的数据类型,一个key对应一个value,它在Redis中是二进制安全的,这意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512M。2.命令表
3.操作实例
①set命令,设置key的valueredis 127.0.0.1:6379> set name hzsunpeng OK redis 127.0.0.1:6379> get name "hzsunpeng"
②setnx,如果key已经存在,则不能设置新value,否则设置
redis 127.0.0.1:6379> setnx name hzsunpeng_new (integer) 0
③批量设置,mset,一次可以设置多个key,全部成功返回OK,否则返回0
redis 127.0.0.1:6379> mset name hzsunpeng age 25 sex 1 address hangzhou OK redis 127.0.0.1:6379> keys * 1) "sex" 2) "age" 3) "name" 4) "address" redis 127.0.0.1:6379> get sex "1" redis 127.0.0.1:6379> get address "hangzhou" redis 127.0.0.1:6379> get name "hzsunpeng" redis 127.0.0.1:6379> get age "25"
④setex,指定key-value的有效期,单位是秒
redis 127.0.0.1:6379> setex color 10 red OK redis 127.0.0.1:6379> get color "red" redis 127.0.0.1:6379> get color "red" redis 127.0.0.1:6379> get color "red" redis 127.0.0.1:6379> get color "red" redis 127.0.0.1:6379> get color "red" redis 127.0.0.1:6379> get color (nil)
最后由于过期而返回nil
⑤setrange命令,设置指定key的value值的子字符串。下例,将163邮箱替换为谷歌邮箱,第一个参数是要设置的key,第二个参数是从哪里开始设置,第三个参数是要设置(修改)的内容,返回修改后的key的字符串
redis 127.0.0.1:6379> set email hzsunpeng@163.com OK redis 127.0.0.1:6379> setrange email 10 gail.com (integer) 18 redis 127.0.0.1:6379> get email "hzsunpeng@gail.com"
注意:替换后的字符串没有原来字符串长,那么原字符串将拼接,例如:
redis 127.0.0.1:6379> get email "hzsunpeng@gail.com" redis 127.0.0.1:6379> setrange email 10 dlut (integer) 18 redis 127.0.0.1:6379> get email "hzsunpeng@dlut.com"
原来的.com会保留
⑥msetnx,批量设置多个key,所有key设置成功返回1,没有任何key被设置则返回0,但是不会覆盖已经存在的key,只要有一个key已经存在,即设置不成功,那么所有的便不能设置成功,刚才name email sex age address全都已经设置,现在:
redis 127.0.0.1:6379> msetnx job java_engineer corp netease age 26 (integer) 0 redis 127.0.0.1:6379> get corp (nil) redis 127.0.0.1:6379> get job (nil)
因为age已经存在,所以所有key全部没有设置成功。
redis 127.0.0.1:6379> msetnx job java_engineer corp netease (integer) 1 redis 127.0.0.1:6379> get job "java_engineer" redis 127.0.0.1:6379> get corp "netease"
现在则可以批量设置成功。
⑦getset,设置一个key的value,并且返回key的旧value
redis 127.0.0.1:6379> getset age 26 "25"
⑧getrange 获取子字符串
redis 127.0.0.1:6379> get email "hzsunpeng@dlut.com" redis 127.0.0.1:6379> getrange email 0 8 "hzsunpeng"
⑨mget批量获取
redis 127.0.0.1:6379> mget name age sex address job corp 1) "hzsunpeng" 2) "26" 3) "1" 4) "hangzhou" 5) "java_engineer" 6) "netease"
⑩incr和incrby
redis 127.0.0.1:6379> get age "26" redis 127.0.0.1:6379> incr age (integer) 27 redis 127.0.0.1:6379> incr age (integer) 28 redis 127.0.0.1:6379> get age "28" redis 127.0.0.1:6379> incrby age 10 (integer) 38 redis 127.0.0.1:6379> get age "38"
若incrby的key不存在,则设置初始值为0
decr和decrby和上述类似,不再赘述,只是减操作。
⑪append,追加,返回新字符串的长度
redis 127.0.0.1:6379> get address "hangzhou" redis 127.0.0.1:6379> append address _binjiang (integer) 17 redis 127.0.0.1:6379> get address "hangzhou_binjiang"
⑫strlen,返回字符串value的长度
redis 127.0.0.1:6379> strlen name (integer) 9 redis 127.0.0.1:6379> strlen address (integer) 17
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android java 与 javascript互访(相互调用)的方法例子
- redis安装问题小结
- android上改变listView的选中颜色
- String.intern
- 使用 Redis 和 Python 构建一个共享单车的应用程序
- Redis偶发连接失败案例实战记录
- Prototype源码浅析 String部分(二)
- Ruby中的String对象学习笔记
- Redis中实现查找某个值的范围
- win 7 安装redis服务【笔记】
- redis的hGetAll函数的性能问题(记Redis那坑人的HGETALL)
- Redis和Memcached的区别详解
- 分割超大Redis数据库例子
- Redis总结笔记(一):安装和常用命令
- Redis sort 排序命令详解
- 用Redis实现微博关注关系
- Redis实现信息已读未读状态提示
- redis中修改配置文件中的端口号 密码方法