初识redis之常用String与Hash命令
2015-11-13 10:51
633 查看
随着NoSQL的不断壮大,作为一个java程序员,为了更好的发展,老夫也不得不学NoSQL数据库了,因为项目中使用过redis,所以就从redis这个角度打开NoSQL的大门吧。
首先介绍下,我是根据兄弟连的视频学习的,虽然之前java项目中使用过,但是也是java代码直接写的,不能说了解这个数据库的底层东西,这次来个系统全面的学习。
对于redis的安装,确实很简单,因为我很懒,所有不想装虚拟机,不想装linux,所有只好去别人github上偷了一份windows版本的redis,本篇最后有我的百度云盘分享链接。解压了就能用,so easy。
说下redis,这玩意执行很快,可以做缓存,用于解决高并发下读写关系型数据库搞不定这种事情。因为不是关系型的,所以没有表,都是用数据结构类型存储的,redis的五个数据结构:String,hash,list,set,zset( 我英文还可以,翻译一下吧,分别是字符串,哈希,链表,集合,有序集合)
下面就说命令吧,根据我学习笔记摘录的一些:
首先启动服务的命令是:redis-server.exe redis.conf,这里说一下,说好的把redis.conf的daemonize设置为yes就可以后台启动的,我这windows版本怎么设置了也不能后台启动啊,真是坑。只能开一个服务端命令窗口一个客户端命令窗口玩了。然后启动客户端,我的是本地的,所以是: redis-cli.exe
-h 127.0.0.1 -p 6379
然后下面是我总结的String类型和Hash类型的命令大全,写的比较详细了,我就CTRL+V了哈:
String:用来存放字段或者序列化字符
key-value 二进制安全
方法:
set 设置 ( set key1 lilei)
setnx 不存在该key则set,否则返回0,成功返回1 (setnx key1 lixiao)
setex 设置有效期的set ( setex key3 2 huahua)设置两秒的
setrange 设置指定key的value值的子字符串 (setrange key1 2 xila从第3个字符开始替换)
mset 批量设置 (mset key2 lilei key3 huahua)
msetnx 批量设置不存在key的键值对,只要有一个存在就全部失败返回0
get 获取
getset 设置key的值并获取旧值( getset key1)
getrange 获取value的子字符(getrange key1 0 2)
mget 批量获取,如果有一个不存在,则其对应的值nil
incr 对对应的key进行递加操作 incr age=age++;
incrby 设置递增幅度
decr decrby 自减(跟增加可以混用,可以设置负数)
append 给指定key追加字符,并返回新字符串长度
strlen 获取key对应的value的长度
hashes:存放对象可以占用更少内存,适合存放对象(对象可以看做表)
方法:
hset key field1 value1 (设置对象key ,字段field1为value1(只能一个字段一个字段设置))
hget key field(获取对象key中field字段的值)
hsetnx (类似String方式)
hmset(批量设置多个字段 hmset person name jeyson age 18)
hmget(批量获取所有键: hmget person name age)
hincrby(对某个字段进行自增,可以为负数 hincrby person age -2)
hexists(某个字段是否存在 存在返回1,hexists person age)
hlen (摸个对象字段数量,hlen person)
hdel person age(删除person对象的age字段)
hkeys person (person对象的所有字段名称)
hvals person (person对象所有字段的值)
hgetall person(获取person对象所有的字段和值)
OK,下面是redis的windows版本链接:链接:http://pan.baidu.com/s/1kTo49AR 密码:5tgy
直接解压后把对应版本放到你想放的目录下,命令行切换到redis目录下就行,非常简单。如果还是不会的话,好吧,这里给你一个链接(http://www.cnblogs.com/linjiqin/archive/2013/05/27/3101694.html,跟着一步一步走吧)
首先介绍下,我是根据兄弟连的视频学习的,虽然之前java项目中使用过,但是也是java代码直接写的,不能说了解这个数据库的底层东西,这次来个系统全面的学习。
对于redis的安装,确实很简单,因为我很懒,所有不想装虚拟机,不想装linux,所有只好去别人github上偷了一份windows版本的redis,本篇最后有我的百度云盘分享链接。解压了就能用,so easy。
说下redis,这玩意执行很快,可以做缓存,用于解决高并发下读写关系型数据库搞不定这种事情。因为不是关系型的,所以没有表,都是用数据结构类型存储的,redis的五个数据结构:String,hash,list,set,zset( 我英文还可以,翻译一下吧,分别是字符串,哈希,链表,集合,有序集合)
下面就说命令吧,根据我学习笔记摘录的一些:
首先启动服务的命令是:redis-server.exe redis.conf,这里说一下,说好的把redis.conf的daemonize设置为yes就可以后台启动的,我这windows版本怎么设置了也不能后台启动啊,真是坑。只能开一个服务端命令窗口一个客户端命令窗口玩了。然后启动客户端,我的是本地的,所以是: redis-cli.exe
-h 127.0.0.1 -p 6379
然后下面是我总结的String类型和Hash类型的命令大全,写的比较详细了,我就CTRL+V了哈:
String:用来存放字段或者序列化字符
key-value 二进制安全
方法:
set 设置 ( set key1 lilei)
setnx 不存在该key则set,否则返回0,成功返回1 (setnx key1 lixiao)
setex 设置有效期的set ( setex key3 2 huahua)设置两秒的
setrange 设置指定key的value值的子字符串 (setrange key1 2 xila从第3个字符开始替换)
mset 批量设置 (mset key2 lilei key3 huahua)
msetnx 批量设置不存在key的键值对,只要有一个存在就全部失败返回0
get 获取
getset 设置key的值并获取旧值( getset key1)
getrange 获取value的子字符(getrange key1 0 2)
mget 批量获取,如果有一个不存在,则其对应的值nil
incr 对对应的key进行递加操作 incr age=age++;
incrby 设置递增幅度
decr decrby 自减(跟增加可以混用,可以设置负数)
append 给指定key追加字符,并返回新字符串长度
strlen 获取key对应的value的长度
hashes:存放对象可以占用更少内存,适合存放对象(对象可以看做表)
方法:
hset key field1 value1 (设置对象key ,字段field1为value1(只能一个字段一个字段设置))
hget key field(获取对象key中field字段的值)
hsetnx (类似String方式)
hmset(批量设置多个字段 hmset person name jeyson age 18)
hmget(批量获取所有键: hmget person name age)
hincrby(对某个字段进行自增,可以为负数 hincrby person age -2)
hexists(某个字段是否存在 存在返回1,hexists person age)
hlen (摸个对象字段数量,hlen person)
hdel person age(删除person对象的age字段)
hkeys person (person对象的所有字段名称)
hvals person (person对象所有字段的值)
hgetall person(获取person对象所有的字段和值)
OK,下面是redis的windows版本链接:链接:http://pan.baidu.com/s/1kTo49AR 密码:5tgy
直接解压后把对应版本放到你想放的目录下,命令行切换到redis目录下就行,非常简单。如果还是不会的话,好吧,这里给你一个链接(http://www.cnblogs.com/linjiqin/archive/2013/05/27/3101694.html,跟着一步一步走吧)
相关文章推荐
- 高性能文件缓存key-value存储—Redis
- redis集群+主从部署
- 高性能网站架构设计之缓存---redis集群搭建
- 夺命雷公狗---Redis---7-案例操作2(用户列表页,实现分页显示已经关注功能)完
- redis常用数据类型
- Redis未授权访问漏洞分析
- redis的一次持久化入侵
- Redis入门
- Mybatis缓存和Redis缓存服务器的案例分析
- Kafka+Spark Streaming+Redis实时计算整合实践
- 夺命雷公狗---Redis---6-案例操作1(注册-登录)
- Redis笔记
- 关于redis 重启后,数据库中数据未及时加载到redis的问题
- redis多实例
- redis的安全认证
- redis配置不当可导致服务器被控制
- Redis被攻击
- redis高危漏洞
- MAC 安装Redis
- redis 持久化rdb aof 简介