码迷,mamicode.com
首页 > 其他好文 > 详细

redis操作基本命令

时间:2015-11-12 11:48:45      阅读:313      评论:0      收藏:0      [点我收藏+]

标签:

Redis—— Remote Dictionary Server,它是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API,我们可使用它构建高性能,可扩展的Web应用程序。

具有以下特点:

  • 异常快速: Redis数据库完全在内存中,因此处理速度非常快,每秒能执行约11万集合,每秒约81000+条记录。
  • 数据持久化:Redis支持数据持久化,可以将内存中的数据存储到磁盘上,方便在宕机等突发情况下快速恢复。
  • 支持丰富的数据类型: 相比许多其他的键值对存储数据库,Redis拥有一套较为丰富的数据类型。
  • 数据一致性: 所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。
  • 多功能实用工具:Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如 Web应用程序会话,网页命中计数等。

首先是在ubuntu下的安装:

下载:

root@localhost:~# wget http://download.redis.io/releases/redis-3.0.0.tar.gz

解压:

root@localhost:~# tar zxvf redis-3.0.tar.gz

编译安装:

root@localhost:~#cd redis-3.0.0 && make && make install

查看安装版本:

root@localhost:~# src/redis-server -v

基本组件:

组件用途
redis-server Redis服务器的启动程序。
redis-cli Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作。
redis-benchmark Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能。
redis-stat Redis状态检测工具,可以检测Redis当前状态参数及延迟状况。

 

 

 

 

 

 

启动redis服务:

root@localhost:~# src/redis-server

连接redis:

    root@localhost:~# src/redis-cli
    127.0.0.1:6379>

基本参数配置:

参数作用
daemonize 是否以后台daemon方式运行redis服务。
port redis服务端口,默认6379。
timeout 请求超时时间。
requirepass 连接数据库密码。

 

 

 

 

 

 

redis.configdaemonize参数默认为no,为了让redis服务在后台运行,我们需要将daemonize参数设置为yes

redis> SET key value      //如果key值相同则覆盖原值,并且清除原值的保存时间
redis> SETEX key seconds value  //添加生存时间,以秒为单位
redis> GET key   //如果key不存在,则返回nil(并非null),如果value非字符串,则报错,因为GET命令仅能获取string类型数据
redis> APPEND key appendValue   // 对已存在的字符串进行追加,如果key不存在,则相当于set直接赋值
redis> MSET key value [key1 value1...]    //同时set多个,存在则覆盖
redis> MGET key key1...   //同时获取多个key值,如果某个key不存在,则当前key返回nil

例如:
127.0.0.1:6379> mget age gender sex                                                                                 
1) "12"                                                                                                             
2) "man"                                                                                                            
3) (nil)

redis> SETRANGE key offset value     //用value覆盖当前key,从偏移量offset开始,如果offset大于原value长度,则中间每个空白均采用用零字节"\x00"填充
redis> STRLEN key   //返回当前key存储的string的长度,value非string时,报错

其它指令:

指令用途
GETSET 设置键的字符串值,并返回旧值。
GETRANGE 得到字符串的子字符串存放在一个键。
GETBIT 对 key 所储存的字符串值,获取指定偏移量上的位(bit)。
SETBIT 对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
SETNX 将 key 的值设为 value ,当且仅当 key 不存在。
MSETNX 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
PSETEX 和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。
INCR 将 key 中储存的数字值增一。
INCRBY 将 key 所储存的值加上指定增量。
INCRBYFLOAT 为 key 中所储存的值加上指定浮点数增量。
DECR 将 key 中储存的数字值减一。
DECRBY 将 key 所储存的值加上指定增量。

 

 

 

 

 

 

 

 

 

 

 

 

 

HSET指令:

使用HSET命令来将哈希表 key 中的域 field 的值设为 value(即每个key存储的是很多键值对):

redis> HSET key field value # 设置一个新域

设置多个:

HMSET key field value [field value ...]     //如果 key 不存在,将会创建一个空的哈希表并执行HMSET操作,如果添加的已存在哈希表中,那么它将被覆盖。

获取指定key下的指定field值:

redis> HGET key field

获取多个:

redis> HMGET key field1 field2 field3...             # 返回值的顺序和传入参数的顺序一样,如果field不存在,则返回nil

获取该key下全部field对应的field及value值(返回值格式为field1 value1然后是field2 value2...),所以返回值长度是field长度的2倍:

redis> HGETALL key

验证给定key下的field是否存在:

redis> HEXISTS key field    //存在返回1,不存在返回0

返回当前key下所有field:

redis> HKEYS key       // 当 key 不存在时,返回一个空表

返回当前key下所有field的长度和:

redis> HLEN key    //当 key 不存在时,返回 0

删除给定key下的field:

redis> HDEL key field      //如果是不存在的域,那么它将被忽略掉

 

redis操作基本命令

标签:

原文地址:http://www.cnblogs.com/caiya928/p/4958178.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!