一、memcached和redis区别

1. redis 可以存储,memcached用来缓存,

2. 数据类型,memcached只有string;redis有string,链表,哈希结构,集合,有序集合

二、redis安装

1. http://download.redis.io/releases/  在这里下载

2. 下载源码,解压,不用config  ,直接make

3. 注意:一碰到时间错误的问题,

  原因:源码官方configure过,官方configure时生成的文件有时间戳信息,make只能发生在configure之后,如果虚拟机时间比configure的时间早就会报错,

  解决:data -s ‘yyyy-mm-dd hh:mm:ss’    重写时间,再lock -w  写入cmos

4. 在src下make test

5. 在 redis目录下,make install

6.  安装之后bin文件讲解

1. redis-benchmark    redis性能测试工具
2. redis-check-aof 检查aof日志工具
3. redis-check-dump 检查rdb日志工具
4. redis-cli 链接用的客户
5. redis-server redis服务进程

7. 拷贝redis.conf 配置文件 到bin目录下

cp /usr/common/redis-2.6.16/redis.conf ./

8. 启动与连接

    //启动
./bin/redis-server ./redis.conf //打开一个终端链接redis
./bin/redis-cli 

9. 让redis以后台进程的形式运行

修改配置文件redis.conf:
daemonize yes ps aux|grep redis //看进程

三、基本命令

注意:redis默认有16个数据库,分别是从0-15进行编号的,默认在0号数据库中操作,在conf中配置database

1.  set/get

set aa bcd

get aa

2. key


keys * //获取所有的keys
keys site //精确查
keys s* //模糊查
keys sit[ey] //模糊查 site或者sity
keys pattern //查询相应的key
在redis中允许模糊查询key,有三个通配符*,?,[]
*:统配任意多个字符
?:统配任意单个字符
[]:统配[]内的某一个字符 ②
randomkey:返回随机的key ③
type age //显示变量类型,存储类型 ④
exits key 判断是否存在,存在返回 1 ;不存在 返回 0 ⑤
del age //删除key ⑥
rename site an //重命名,site改为an ⑦
renamenx an ab //把key改名为新key 如果ab不存在则修改,存在就不修改

an 1 //移动key=an 到1库
select 1 //转换到1库

3. redis字符串类型的操作


set key value [ex 秒数] [px 毫秒数] [nx]/[xx]
如:set a 1 ex 10 10秒有效
  set a 1 px 9000 9秒有效
注:ex,px不要同时写否则以后面的有效期为准
如:set a 1 ex 100 px 9000 实际有效期是9000毫秒
nx:表示key不存在时执行操作
  如:set site www.abc.com nx
xx:表示key存在时执行操作
  如:set site www.abc.com xx (相当于修改site的值) ②
mset multi set 一次性设置多个键值
如:mset key1 v1 key2 v2... ③
mget key1 key2 keyn 获取多个key值 ④
setrange key 2 ?? hello--->he??o
setrange key 6 ! hello--->hello\x00\xa3\xa1
append word ## hello--->hello## 追加
getrange key start stop //获取字符产中【start stop范围的值】 包括start和stop
                //注意:对于字符串的小标,左数从0开始,右数从-1开始
  eg : getrange area 1 4 area = chinese chinese--->hine(最终)
    getrange area 0 -3 chinese--->chine(最终)
     getrange area 1 -3           chinese--->hine(最终)
注意: start>=length,则返回空字符串
        stop>=length,则截取至字符结尾
        如果start所处的位置在stop右边,则返回空字符串 ⑤
getset key newvalue 获取并返回旧值,设置新值 ⑥
incr age 加一 (计数,抢单)
decr age 减一
incrby age 5 加5
decrby age 10 减10
incrbyfloat age 0.5 //浮点数增加0.5

4. redis  link 链表结构 类型的操作

①:lpush key value  把值插入到链表头部    l:left  r:right

②:rpop key  返回病删除链表尾元素

③:rpush 尾部插入   lpop 左侧删除

④:lrange key start stop  返回链表中[start,stop]中的元素 规律,左数从0开始,右数从-1开始

⑤:lrem key count value  从key链表中删除value值  注:删除count的绝对值个value后结束 count>0 从表头删除  count<0 从表尾删除

⑥:ltrim key start stop  剪切key对应的链接,切[start,stop]一段,并把该段重新赋值给key
⑦:lindex key index  返回index索引上的值

⑧:llen key   作用计算链接表的元素个数 

⑨:linsert key after|before seach value 在key链表中寻找search,并在search值之前之后,插入value  注:一旦找到一个search之后,命令就结束了,因此不会插入多个value

⑩:rpoplpush source dest  把sourch的尾部拿出来放在dest的头部并返回该单元值
⑪:brpop ,blpop key timeout  等待弹出key的尾/头元素  timeout尾等待超时时间,如果timeout为0则一直等待

5. redis hash 哈希数据类型

①:hset key field value   把key中filed域的值设为value  注:如果没有field域,直接添加,如果有,则覆盖原field域的值

②:hmset key field1 value1[field2 value2 field3 value3 ... fieldn valuen] 设置field1->N个域,对应的值是value1->N (感觉有点像 HashMap hashMap(key) = {field1->value1 ...})

③:hget key field   返回key中field域的值

④:hmget key field1 field2 fieldN  返回key中field1,field2,fieldN域的值

⑤:hgetall key 返回key中,所有域与其值

⑥:hdel key field 删除key中field域

⑦:hlen key 返回key中元素的数量

⑧:hexists key field 判断key中有没有field域

⑨:hinrby key field value 是把key中的field域的值增长整型值value

⑩:hinrby float key field value 是把key中的field域的值增长浮点值value

⑪:hkeys key 返回key中所有的field

redis的安装和类型及基本命令的更多相关文章

  1. redis的安装与类型

    redis Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件 源码安装 redis , 编译安装 为何用源码安装,不用yum安装, 编译安装的优势 ...

  2. Linux安装redis PHP安装Redis扩展 and基本命令

    一.安装redis 用超级管理员身份运行: $ mkdir /usr/local/redis #redis安装目录 $ cd /usr/local/src #安装包下载目录 $ wget http:/ ...

  3. 沉淀再出发:redis的安装和使用

    沉淀再出发:redis的安装和使用 一.前言 下面让我们看看Redis这个键值对内存数据库的使用方法和相关注意事项. 二.Redis的安装和使用 2.1.Redis的定义 REmote DIction ...

  4. Redis的安装、基本使用以及与SpringBoot的整合

    1.概述 Redis 是现在很流行的一个 NoSql 数据库,每秒读取可以达到10万次,能够将数据持久化,支持多种数据结构,容灾性强,易扩展,常用于项目的缓存中间件. 今天我们就来聊聊关于Redis的 ...

  5. Linux下Redis的安装和部署

    一.Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多 ...

  6. 基于C#的MongoDB数据库开发应用(4)--Redis的安装及使用

    在前面介绍了三篇关于MongoDB数据库的开发使用文章,严格来讲这个不能归类于MongoDB数据库开发,不过Redis又有着和MongoDB数据库非常密切的关系,它们两者很接近,Redis主要是内存中 ...

  7. Linux下Redis的安装与配置

    redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了 memcached的不足,它支持存储的value类型相对更多,包括stri ...

  8. Redis简介-安装-入门

    前言 我们team马上要用Redis了. 所以先学习一下这东西. Redis大名很早以前就听过了,以前在的公司都没有用到. 现在有机会终于接触到了,果断学习起来. 什么是redis Redis是完全开 ...

  9. Redis的安装与使用

    一.什么 Redis REmote DIctionary Server,简称 Redis,是一个类似于Memcached的Key-Value存储系统.相比Memcached,它支持更丰富的数据结构,包 ...

随机推荐

  1. UOJ34 多项式乘法(非递归版)

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  2. 运行【guns】spring boot 的四种方式

    IDE 运行 运行带有main方法类 用mvn运行Spring-boot项目 在父项目中运行 mvn clean mvn install 在主项目中运行 mvn spring-boot:run 用JA ...

  3. Pandas时间差(Timedelta)

    时间差(Timedelta)是时间上的差异,以不同的单位来表示.例如:日,小时,分钟,秒.它们可以是正值,也可以是负值.可以使用各种参数创建Timedelta对象,如下所示 - 字符串 通过传递字符串 ...

  4. NumPy数学算数函数

    NumPy - 算数函数 很容易理解的是,NumPy 包含大量的各种数学运算功能. NumPy 提供标准的三角函数,算术运算的函数,复数处理函数等. 三角函数 NumPy 拥有标准的三角函数,它为弧度 ...

  5. 缓存技术内部交流_01_Ehcache3简介

    参考资料: http://www.ehcache.org/documentation/3.2/getting-started.html http://www.ehcache.org/documenta ...

  6. springmvc学习(2)

    SpringMvc是最主流的MVC框架之一. Spring3.0后全面超越Struts2,成为最优先的MVC框架 SpringMVC通过一套MVC注解,让POJO成为处理请求的控制器,而无须实现任何借 ...

  7. 在线演示demo

    *{display:none} 仿微博添加和删除动画 body{} input,button,select,textarea{outline:none;} .sdiv{width:400px;} .b ...

  8. plsql连接不上oracle

    由于oracle存在64位的,但是目前plsql只有32位.导致登录后报错 -------------------------------------------------------------- ...

  9. [转载]JAVA获取word表格中数据的方案

    上一个项目的开发中需要实现从word中读取表格数据的功能,在JAVA社区搜索了很多资料,终于找到了两个相对最佳的方案,因为也得到了不少网友们的帮助,所以不敢独自享用,在此做一个分享. 两个方案分别是: ...

  10. WCF基础:绑定(二)

    在WCF的绑定体系中,经常会碰到ICommunicationObject接口,无论是IChannel接口还是IChannelListener/IChannelFactory接口都继承了ICommuni ...