Redis安装及使用详解
推荐在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安装及使用详解的更多相关文章
- redis.conf 具体配置详解
redis.conf 具体配置详解 # redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位, # 通常的格式就是 1k 5gb 4m 等酱紫: # # 1k => ...
- redis.windows.conf配置详解
redis.windows.conf配置详解 转自:https://www.cnblogs.com/kreo/p/4423362.html # redis 配置文件示例 # 当你需要为某个配置项指定内 ...
- libCURL开源库在VS2010环境下编译安装,配置详解
libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...
- zookeeper的安装(图文详解。。。来点击哦!)
zookeeper的安装(图文详解...来点击哦!) 一.服务器的配置 三台服务器: 192.168.83.133 sunshine 192.168.83.134 sunshineMin 19 ...
- 转AjaxControlToolkit的安装与使用详解
AjaxControlToolkit的安装与使用详解 AjaxControlToolkit下载http://ajax.asp.net/downloads/default.aspx?tabid=47ht ...
- redis 五种数据结构详解(string,list,set,zset,hash)
redis 五种数据结构详解(string,list,set,zset,hash) Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存 ...
- NoSQL之Redis高级实用命令详解--安全和主从复制
Android IOS JavaScript HTML5 CSS jQuery Python PHP NodeJS Java Spring MySQL MongoDB Redis NOSQL Vim ...
- 学习笔记--Grunt、安装、图文详解
学习笔记--Git安装.图文详解 安装Git成功后,现在安装Gruntjs,官网:http://gruntjs.com/ 一.安装node 参考node.js 安装.图文详解 (最新的node会自动安 ...
- Mac下安装HBase及详解
Mac下安装HBase及详解 1. 千篇一律的HBase简介 HBase是Hadoop的数据库, 而Hive数据库的管理工具, HBase具有分布式, 可扩展及面向列存储的特点(基于谷歌BigTabl ...
随机推荐
- 2018-2019-3 20165314《网络对抗技术》Exp2 后门原理与实践
1.实验内容 任务一:使用netcat获取主机操作Shell 1.在Windows下使用ipconfig查看本机IP: 2.使用ncat.exe程序监听本机的5314端口: 3.在Kali环境下,使用 ...
- CentOS7没有eth0网卡
本人刚刚进去运维圈,写写博客,记录一下自己日常工作学习中的各种问题,方便自己,方便他人. CentOS7系统安装完毕之后,输入ifconfig命令发现没有eth0,不符合我们的习惯.而且也无法远程ss ...
- TCP和UDP的区别以及使用python服务端客户端简单编程
一.TCP.UDP区别总结 1.TCP面向连接(如打电话要先拨号建立连接):UDP是无连接的,即发送数据之前不需要建立连接 2.TCP提供可靠的服务,也就是说,通过TCP连接传送的数据,无差错,不丢失 ...
- ASP.NET Core MVC 授权的扩展:自定义 Authorize Attribute 和 IApplicationModelProvide
一.概述 ASP.NET Core MVC 提供了基于角色( Role ).声明( Chaim ) 和策略 ( Policy ) 等的授权方式.在实际应用中,可能采用部门( Department , ...
- UML绘图工具——PlantUML
1 简介 PlantUML是一个开源项目,支持通过简单直观的语言来定义以下UML图. 时序图 用例图 类图 活动图 组件图 状态图 对象图 部署图 定时图 支持生成图片格式有: PNG SVG LaT ...
- 部署Mvc Core SSL网站到Centos并用Nginx作为反向代理
1. 先在本地比如~/Downloads下建立MVC项目 2. 生成mvc使用的ssl证书 2.1. 生成.key文件 openssl genrsa -des3 -out server.key 2 ...
- Spring,Spring MVC及Spring Boot区别
什么是Spring?它解决了什么问题? 我们说到Spring,一般指代的是Spring Framework,它是一个开源的应用程序框架,提供了一个简易的开发方式,通过这种开发方式,将避免那些可能致使代 ...
- 微软开源大规模数据处理项目 Data Accelerator
微软开源了一个原为内部使用的大规模数据处理项目 Data Accelerator.自 2017 年开发以来,该项目已经大规模应用在各种微软产品工作管道上. 据微软官方开源博客介绍,Data Accel ...
- Kafka消费者组再均衡问题
在Kafka中,当有新消费者加入或者订阅的topic数发生变化时,会触发Rebalance(再均衡:在同一个消费者组当中,分区的所有权从一个消费者转移到另外一个消费者)机制,Rebalance顾名思义 ...
- DOS批处理中对含有特殊字符的文件名的处理方法
从一些网站下载的文件,文件名带有广告,典型的就是网站的名称和域名,搞得文件名很长.在一些场景下,广告看得见,真正的文件名却被...了.在以前,我是遇到就手工去掉广告,但一是麻烦,二是效率低.反正经常下 ...