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 ...
随机推荐
- Git初始配置【一】
Git客户端的工作 安装完成后,还需要最后一步设置,在命令行输入 $ git config --global user.name "Your Name" $ git config ...
- 部分NLP工程师面试题总结
面试题 https://www.cnblogs.com/CheeseZH/p/11927577.html 其他 大数据相关面试题 https://www.cnblogs.com/CheeseZH/p/ ...
- # 61条面向对象设计的经验原则-《OOD启思录》Arthur J.Riel
61条面向对象设计的经验原则-<OOD启思录>Arthur J.Riel 原文 http://blog.csdn.net/cpluser/article/details/129291 61 ...
- vue---数据列表过滤筛选
使用vue进行数据过滤筛选是比较常用的功能,常见的使用场景就是搜索框数据筛选过滤了.简单示例: <template> <div> <input type="te ...
- http请求传参问题解决
1.接口参数:使用form-data形式传参如果值太多就会报错误. 2.接口参数:使用form-data形式传参如果值太多就会报错误.这样前端可以传json就可以避免这样问题
- Python之pandas读取mysql中文乱码问题
# -*- coding: utf-8 -*- # author:baoshan import pandas as pd import pymysql config = { "host&qu ...
- openresty开发系列33--openresty执行流程之3重写rewrite和重定向
openresty开发系列33--openresty执行流程之3重写rewrite和重定向 重写rewrite阶段 1)重定向2)内部,伪静态 先介绍一下if,rewrite指令 一)if指令语法:i ...
- Python3基础 list(dict) 使用 * 扩充时,出现字典元素重复问题
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- (转)CentOS 7.6 上编译安装httpd 2.4.38
原文:https://www.s4lm0x.com/archives/40.html https://www.cnblogs.com/sunshine-H/p/8110608.html----超详细 ...
- [LeetCode] 653. Two Sum IV - Input is a BST 两数之和之四 - 输入是二叉搜索树
Given a Binary Search Tree and a target number, return true if there exist two elements in the BST s ...