Redis 学习-安装、数据类型与 API 理解、Java 客户端
本博客是在学习《Redis从入门到高可用,分布式实践》教程时的笔记。
同时参考:
https://www.cnblogs.com/jiang910/p/10020048.html
一、Redis 初识
1. 下载
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
5.0.7 是当前 Redis 官网最新的稳定版本,大小不到2M。
2. 解压
tar xzf redis-5.0..tar.gz
3. 安装依赖 gcc
yum -y install gcc automake autoconf libtool make
4. 编译
# 进入到目录
cd redis-5.0.7
# 执行命令
make
# 安装
make install
5. 可执行文件说明
只执行 make,未执行 make install 命令时,以下可执行文件只能在 redis/src/ 目录下执行。
①. redis-server :Redis 服务器
②. redis-cli :Redis 命令行客户端
③. redis-benchmark :Redis 性能测试
④. redis-check-aof :AOF 文件修复工具
⑤. redis-check-rdb :RDB 文件修复工具
⑥. redis-sentinel :Sentinel 服务器
6. 启动方式
①. 最简单的
redis-server
②. 动态参数
redis-server --port
③. 配置文件
redis-server redis.conf
④. 测试
# 查看进程
ps -ef | grep redis
# 查看端口
netstat -antpl | grep redis
# 命令行访问
redis-cli -h 127.0.0.1 -p
# 执行命令,正常会返回 PONG
ping
7. 配置文件中更改
daemonize no # 是否守护进程启动。改为 yes
bind 127.0.0.1 # 只允许该 ip 访问。注释掉
protected-mode yes # 保护模式。如果使用bind和密码可以开启,否则关闭改为 no
logfile "" # 日志文件。可以设置为 /dir/6379.log
dir ./ # rdb文件 aof文件 存放目录,可以设置为 /dir/
8. 纯净版配置文件
# 查看
cat redis.conf | grep -v "#" | grep -v "^$"
# 输出
> redis-pure.conf
9. 配置文件详解
参考博客:
https://www.cnblogs.com/yiwangzhibujian/p/7067575.html
二、API 的使用和理解
1. 通用命令
mset / mget # 批量设置 / 批量查询
keys * # 遍历所有匹配的 key
dbsize # 计算 key 的总数
exists key # 检查 key 存在
expire key 10 # 设置 key 的过期时间 10 秒
ttl key # 查看剩余过期时间
persist key # 去掉过期时间
type key # 查看类型
2. 字符串类型
incr key # 自增
decr key # 自减
set name libra # 设置
get name # 查询
3. 哈希类型
hset user:1:info age 23 # 设置
hset user:1:info name libra # 继续设置
hgetall user:1:info # 查询
hdel user:1:info age # 删除1个
4. 列表类型
有序 可以重复
rpush mylist a b c # 按序插入3条
lrange mylist 0 -1 # 遍历列表从 0 开始到最后一个
rpop mylist # 从右边取出1个
5. 集合类型
无序、无重复 支持集合之间操作
sadd user:1:follow it new his sports # 将 n 个元素加入到集合
smembers user:1:follow # 遍历集合
spop user:1:follow # 移除集合中一个随机的元素
scard user:1:follow # 集合数量
sismember user:1:follow entertainment # 判断元素是否在集合中,是 1 否 0
6. 有序集合类型
zadd myset 1000 ronaldo 900 messi 800 c-ronaldo 600 kaka # 将多个元素及下标加入集合
zscore myset kaka # 查看指定元素的下标
zcard myset # 集合长度
zrank myset ronaldo # 查看指定元素的排名
zrem myset messi # 删除元素
zrange myset 0 -1 withscores # 遍历集合
三、SpringBoot 与 Redis 整合
参考博客:
https://www.cnblogs.com/zeng1994/p/03303c805731afc9aa9c60dbbd32a323.html
Redis 学习-安装、数据类型与 API 理解、Java 客户端的更多相关文章
- Redis学习笔记之二 :在Java项目中使用Redis
成功配置redis之后,便来学习使用redis.首先了解下redis的数据类型. Redis的数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set( ...
- Memcached学习笔记 — 第四部分:Memcached Java 客户端-gwhalin(1)-介绍及使用
介绍 Memcached java client是官方推荐的最早的memcached java客户端.最新版本:java_memcached-release_2.6.1. 官方下载地址:http ...
- zookeeper原生API做java客户端
简介 本文是使用apache提供的原生api做zookeeper客户端 jar包 zookeeper-3.4.5.jar Demo package bjsxt.zookeeper.base; im ...
- ZooKeeper学习之路(四)—— Java 客户端 Apache Curator
一.基本依赖 Curator是Netflix公司开源的一个Zookeeper客户端,目前由Apache进行维护.与Zookeeper原生客户端相比,Curator的抽象层次更高,功能也更加丰富,是目前 ...
- Hive学习(三)Hive的Java客户端操作
Hive的Java客户端操作分为JDBC和Thrifit Client,首先启动Hive远程服务: hive --service hiveserver 一.JDBC 在MyEclipse中首先创建连接 ...
- Redis 学习(二) —— 数据类型及操作
Redis支持string.list.set.zset.hash等数据类型,这一篇学习redis的数据类型.命令及某些使用场景. 一.String,字符串 字符串是 Redis 最基本的数据类型.一个 ...
- Redis 学习之数据类型
该文使用centos6.5 64位 redis-3.2.8 [root@localhost bin]# netstat -tunpl |grep 6379 查看redis 是否启动成功 一.Stri ...
- redis学习-sds数据类型
今天开始了redis的学习,本来想直接从源码看起的,不过看到有篇对redis介绍的基础教程 <Redis 设计与实现(第一版)> 于是决定从这个开始入门. 1.数据类型定义 typedef ...
- Redis学习-string数据类型
Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志 型.Key-Value 数据库. redis提供五种数据类型string,hash,list,set及sor ...
随机推荐
- enq: DX – contention等待事件解决方法
前几日,一测试环境在dblink单表同步的时候(不管怎么说,目前仍然是同构数据库同步性能最快的方法,别听网上的扯淡,无论goldengate还是java层,都是比较慢的),某张表一直同步不过去,看了一 ...
- (7)Flask微电影之会员中心页面搭建
一.添加会员中心页面的路由 修改app/home/views.py内容,追加会员有关的5个路由: # coding:utf8 from . import home from flask import ...
- JAVA windows环境配置,jdk的安装配置
一.需要的文件与下载1.jdk:jdk下载:二.安装与配置1.jdk安装与路径选择 双击安装,然后一直下一步,直至完成. 这是个人的自定义的安装目录路径(安装路径可在安装的时候自行选择,) 2.jdk ...
- java8新特性六-Optional 类
Optional 类是一个可以为null的容器对象.如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象. Optional 是个容器:它可以保存类型T的值,或者仅仅保 ...
- LeetCode 445. 两数相加 II(Add Two Numbers II)
445. 两数相加 II 445. Add Two Numbers II 题目描述 给定两个非空链表来代表两个非负整数.数字最高位位于链表开始位置.它们的每个节点只存储单个数字.将这两数相加会返回一个 ...
- C++的派生类构造函数是否要带上基类构造函数
//public:Student(int s_age):People(s_age) //C++的派生类构造函数后面是否带上基类构造函数,取决于基类构造函数是否需要传入参数,如果要参数,就一定带上:不需 ...
- c++递归函数
一.什么是递归算法 递归即递推+回归.递归算法是把问题转化为规模缩小了的同类子问题,然后递归调用函数(或过程)来表示问题的解. 二.递归算法的特点 1.必须有 递归函数 + 递归出口 2.递归算法解题 ...
- linux 创建虚拟机常见错误
无法打开内核设备global vmx86 重启虚拟机所有服务 无法创建虚拟机 需要使用管理员身份运行vm即可
- python基础 — Queue 队列
queue介绍 queue是python中的标准库,俗称队列. 在python中,多个线程之间的数据是共享的,多个线程进行数据交换的时候,不能够保证数据的安全性和一致性,所以当多个线程需要进行数据交换 ...
- TiDB基本架构简单总结
TiDB特点 高可用 水平拓展 事务 SQL支持 TiDB架构 和MySql不同,TiDB是一个分布式的数据库而不是单个进程,所以整个TiDB是由以下角色组成: TiKV, PD, TiDB, T ...