推荐在Linux系统上安装,这里我采用CentOS6:

Redis采用3.0.0版本,官网下载即可

由于Redis是C语言编写,需要安装gcc(部分Linux自带gcc)

yum install gcc-c++

解压安装包:

tar -zxvf redis-.tar.gz

编译redis源码:

cd redis-
make

安装:

make install PREFIX=/usr/local/redis

启动redis:

第一种:不推荐

cd /usr/local/redis/bin
./redis-server

第二种:使用配置文件

cd redis-
cp redis.conf /usr/local/redis/bin
vi /usr/local/redis/bin/redis.conf

修改daemonize为yes,然后:wq保存

启动:

./redis-server redis.conf

关闭:

./redis-cli shutdown

连接redis:Redis默认是16个数据库

第一种:直接使用自带客户端连接

./redis-cli -h 

第二种:使用windows的图形化界面客户端连接(直观)

注意:如果有连接不到但是确定已经开启了redis的情况,需要配置防火墙

重点要关注的是第三点:Java连接,稍后再说,先来看一看数据类型

在自带客户端中进行操作:选择第一个(也就是redis-0)数据库

>
OK

String数据类型:

> set key value
OK
> get key
"value"
> 

多条信息存储和获取:

> mset k1 v1 k2 v2
OK
> mget k1 k2
) "v1"
) "v2"
> 

根据key删除信息:

> del k1 k2
(integer) 

数值增减:

递增:

> incr num
(integer)
> incr num
(integer)
> incr num
(integer)
> get num
"
> 
> incrby num
(integer)
> incrby num
(integer)
> incrby num
(integer)
> get num
"

递减:

> decr num
(integer) -
> decr num
(integer) -
> decr num
(integer) -
> get num
"-3"
> decrby num
(integer) -
> decrby num
(integer) -
> decrby num
(integer) -
> get num
"-9"

一些其他命令的示范:

> set str hello
OK
> append str " world!"
(integer)
> get str
"hello world!"

Hash类型:可以理解为HashMap

代替Hash类型的方式:将需要保存的信息转换成JSON字符串

hset命令,插入和更新没有区分

> hset user username root
(integer)
> hset user password root
(integer) 

多条插入:

> hmset user username root password root
OK

当不存在时候赋值:当字段不存在时赋值,存在的话不做任何操作

> hset user username root
(integer)
> hsetnx user username admin
(integer)
> 

取Hash中的值:

> hget user username
"root"
> hmget user username password
) "root"
) "
> hgetall user
) "username"
) "root"
) "password"
) "

删除Hash中的字段:

> hdel user username
(integer)
> hgetall user
) "password"
) "

Hash字段增加数字:

> hset user age
(integer)
> hincrby user age
(integer)
> hget user age
"

判断字段是否存在:

> hexists user age
(integer)
> hexists user sex
(integer) 

只获取key或者value:

> hkeys user
) "password"
) "age"
> hvals user
) "
) "

获取大小:

> hlen user
(integer) 

在实际中的应用:比如添加商品

> hmset item: name iphonex price  id  color black
OK
> hkeys item:
) "name"
) "price"
) "id"
) "color"

List类型:就像是Java的ArrayList

向左边或者右边添加元素:

> lpush list:
(integer)
> rpush list:
(integer) 

最终list:1是什么呢?

1->2 1-> 3 2 1->3 2 1 4->3 2 1 4 5->3 2 1 4 5 6

根据开始索引和结束索引查看:

> lrange list:
) "
) "
) "

如果想全部读取,设置为0到-1即可:

> lrange list:  -
) "
) "
) "
) "
) "
) "

从列表的两端弹出元素:

> lpop list:
"
> rpop list:
"
> lrange list:  -
) "
) "
) "
) "

列表长度:

> llen list:
(integer) 

删除:-1:从右往左删除第一个5;1:从左往右删除第一个5;0:删除所有的5

> lrem list: -
(integer)
> lrem list:
(integer) 

获取指定索引:

> lindex list:
"
> lrange list:  -
) "
) "
) "

设置指定索引的值:

> lset list:
OK
> lrange list:  -
) "
) "
) "

只保留列表某一部分元素:

> ltrim list:
OK
> lrange list:  -
) "
) "

插入:linsert [name] [after/before] [value] [new value]

> lrange list:  -
) "
) "
) "
) "
> linsert list: before
(integer)
> lrange list:  -
) "
) "
) "
) "
) "

Set类型:

特点:不重复,无序

增删查:

> sadd set a b c d
(integer)
> sadd set a
(integer)
> srem set d
(integer)
> smembers set
) "c"
) "b"
) "a"

差集运算:[1,2,3]和[2,3,4]的差集

> sadd set1
(integer)
> sadd set2
(integer)
> sdiff set1 set2
) "
> sdiff set2 set1
) "

交集运算:[1,2,3]和[2,3,4]的交集

> sinter set1 set2
) "
) "

并集运算:[1,2,3]和[2,3,4]的并集

> sunion set1 set2
) "
) "
) "
) "

Redis安装及使用详解的更多相关文章

  1. redis.conf 具体配置详解

    redis.conf 具体配置详解 # redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位, # 通常的格式就是 1k 5gb 4m 等酱紫: # # 1k => ...

  2. redis.windows.conf配置详解

    redis.windows.conf配置详解 转自:https://www.cnblogs.com/kreo/p/4423362.html # redis 配置文件示例 # 当你需要为某个配置项指定内 ...

  3. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  4. zookeeper的安装(图文详解。。。来点击哦!)

    zookeeper的安装(图文详解...来点击哦!) 一.服务器的配置 三台服务器: 192.168.83.133   sunshine 192.168.83.134   sunshineMin 19 ...

  5. 转AjaxControlToolkit的安装与使用详解

    AjaxControlToolkit的安装与使用详解 AjaxControlToolkit下载http://ajax.asp.net/downloads/default.aspx?tabid=47ht ...

  6. redis 五种数据结构详解(string,list,set,zset,hash)

    redis 五种数据结构详解(string,list,set,zset,hash) Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存 ...

  7. NoSQL之Redis高级实用命令详解--安全和主从复制

    Android IOS JavaScript HTML5 CSS jQuery Python PHP NodeJS Java Spring MySQL MongoDB Redis NOSQL Vim ...

  8. 学习笔记--Grunt、安装、图文详解

    学习笔记--Git安装.图文详解 安装Git成功后,现在安装Gruntjs,官网:http://gruntjs.com/ 一.安装node 参考node.js 安装.图文详解 (最新的node会自动安 ...

  9. Mac下安装HBase及详解

    Mac下安装HBase及详解 1. 千篇一律的HBase简介 HBase是Hadoop的数据库, 而Hive数据库的管理工具, HBase具有分布式, 可扩展及面向列存储的特点(基于谷歌BigTabl ...

随机推荐

  1. CentOS7.6最小化纯净版安装xfce桌面

    安装Xfce桌面环境 yum groupinstall "X Window system" yum install epel-release yum groupinstall xf ...

  2. 宏定义define和const的区别

    define和const都可以用来定义常量,define的格式为:#define 标识符 字符串,const在定义常量前面,const类型定以后不能被修改,区别主要有如下几点: 1.编译器处理方式不同 ...

  3. [转]Go里面的unsafe包详解

    Golang的unsafe包是一个很特殊的包. 为什么这样说呢? 本文将详细解释. 来自go语言官方文档的警告 unsafe包的文档是这么说的: 导入unsafe的软件包可能不可移植,并且不受Go 1 ...

  4. 一张图看懂encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的区别

    一.这四个方法的用处 1.用来编码和解码URI的 统一资源标识符,或叫做 URI,是用来标识互联网上的资源(例如,网页或文件)和怎样访问这些资源的传输协议(例如,HTTP 或 FTP)的字符串.除了e ...

  5. Java练习2

    1 编写一个应用程序,模拟机动车的加速和减速功能.机动车类Vehicle的UML图如下,其中speedUp()方法实现加速功能,速度上限为240 km/h:speedDown()实现降速功能,下限为0 ...

  6. 解决问题SyntaxError: Unexpected token import

    ES6语法的模块导入导出(import/export)功能,我们在使用它的时候,可能会报错: SyntaxError: Unexpected token import 语法错误:此处不应该出现impo ...

  7. Nginx 自定义添加Response Headers 修改server

    之前说过如何隐藏Response Headers中 X-Powered-By 修改php.ini expose_php = Off service php-fpm reload 隐藏Nginx版本号  ...

  8. Motrix for Mac(百度网盘加速/全能下载软件) v1.3.7最新版!

    Motrix for Mac最新版第一时间在本站上线!Mac上最强大实用百度网盘加速器Motrix for Mac分享给您!Motrix for Mac是一款非常优秀的下载工具,采用Aria 2作为核 ...

  9. laravel使用redis队列实践(只需6步,超详细,超简单)

    1.配置使用redis队列 在.env文件找到QUEUE_DRIVER=sync改成QUEUE_DRIVER=redis redis配置一般不用改如果有密码改.env文件的REDIS_PASSWORD ...

  10. HDU 6437 Problem L.Videos (最大费用)【费用流】

    <题目链接> 题目大意: 一天有N个小时,有m个节目(每种节目都有类型),有k个人,连续看相同类型的节目会扣w快乐值.每一种节目有都一个播放区间[l,r].每个人同一时间只能看一个节目,看 ...