Redis详细用法
Redis详细用法
1.redis启动命令
本机Redis 安装路径是在usr/local/redis 目录下
启动命令: ./redis-server redis.conf(启动时指定配置文件)
测试启动是否成功:ps aux|grep redis
关闭redis: 杀死redis进程 kill
进入redis自带的客户端工具: ./redis-cli
2.redis.conf配置文件信息:
修改启动方式: daemonize yes
端口号port:6379
database:16 redis默认开启16个库,16个存储空间,也就说这16个之间是数据隔离的
cluster-enabled yes 配置redis集群。这个配置默认是注释的,默认不开启集群
save 900 1 这个表示redis的持久化方案(rdb)
dbfilename dump.rdb redis持久化时,存放数据的文件
appendonly no 是否开启redis的aof持久化方案
appendfilename "appendonly.aof" aof持久化方案存放的文件
3.redis常用命令:
redis数据类型 String(字符串) Hash(哈希) List(链表) Set(集合) SortSet(有序集合) String 采用key value形式存储数据
set key value 存储数据
set name zhangsan
get key 获取数据
get name
incr 让当前值以1的数量递增,并返回递增后的值
set aa 11
incr aa 返回12
incrby 可以指定参数一次增加的数值,并返回递增后的值
set aa 11
incrby aa 10 返回21
decr 让当前键值以1的数量递减,并返回递减后的值
decrby 可以指定参数一次递减的数值,并返回递减后的值
incrbyfloat 可以递增一个双精度浮点数
append 作用是向键值得末尾追加value
mset/mget作用与get/set相似,不过mget/msetkey可以同时获得、设置多个键的键值
mset xxx 111 yyy 222 zzz 333
mget xxx yyy zzz
返回 “111” “222” “333” hset 存储一个哈希键值对的集合
hset user name zhangsan
hset user password 123 hmset 存储一个或多个哈希 是键值对的集合
hmset user name tom password 123 address beijing
hgetall 获取一个哈希是键值对的集合
hgetall user 返回name zhangsan password 123 address beijing
hexits 判断哈希表中的字段名是否存在 如果存在返回1,否则返回0
hkeys 只返回字段名 hkeys user :1;
hvals 只返回字段值 hdel user:1 name
hlen user:1 name list(链表) 不常用
lpush 向链表左侧添加
lpush user zhangsan
lpush user list
lpush user wangwu
rpush 向链表右侧添加
rpush user zhangsan
rpush user lisi
rpush user wangwu
lpop 从左边弹出一个元素
rpop 从右边弹出一个元素
llen 返回链表中元素的个数 相当于关系型数据库中 select count(*)
lrange 将返回索引从start到stop之间的所有元素。redis的列表起始索引为0
lrem 删除列表中前count个值为value的元素,返回值是实际删除的元素个数。
根据count值得不同,老人命令的执行方式会略有不同
1.count > 0 时lrem命令会从列表左边开始删除前count个值为value的元素
2.count < 0 时lrem命令会从列表右边开始删除前count个值为value的元素
3.count = 0 时lrem命令会删除所有值为value的元素
lindex 如果要将列表类型当做数组来用,lindex命令是必不可少的。
lindex命令用来返回指定索引的元素,索引从0开始
lset 是另一个通过索引操作列表的命令,它会将索引为index的元素赋值为value set sortset更不常用,就不介绍了 ping 测试redis是否链接 如果已链接返回 PONG
echo 测试redis是否链接 如果已链接返回 echo命令后给定的值
keys 返回所有的key 可以加*通配
exists 判断string类型一个key是否存在 如果存在返回1 否则返回0
del 删除一个key或者多个
expire 设置一个key的过期时间
ttl 查看键的失效时间
select 选择数据库(0-15)
move 将当前数据库中的key转移到其他数据库中
persist 移除给定key的过期时间
randomkey 随机返回key空间的一个key
type 返回值的类型
quit 退出连接
dbsize 返回当前数据库中的key的数目
info 获取服务器的信息和统计
flushdb 删除当前选择的数据库中的key
flushall 删除所有数据库中的所有key
redis的持久化方案:
redis 除了可以作为缓存技术,也可以作为非关系型数据库。
作为缓存技术,数据默认是存放在内存中的,(这样可以提升存取速度)
但内存不是持久化设备,不能永久保存数据,一旦机器发生问题,
将会造成数据丢失。因此,redis为了解决这个文件,提供了数据的持久化方
案(memcahe 没有这个能力)
两种持久化方案:RDB和AOF方案
RDB方案:
redis默认开启的一种持久化方案。它会根据时间轴,以及key的数量改变来完成持久化动作。
save 900 1 该备份策略表示 在 900 秒内,如果有一个或多个key的值发生了变化,就触发
redis的持久化机制。
AOF方案:
该持久化方案,redis默认情况下没有开启。需要手动开启。
redis.conf 中的 appendonly no 配置成 yes aof的持久化策略为:redis会记录当前用户执行的,且改变数据的命令。
这种持久化的密度会更细。当然也会对redis的性能产生影响。
注意:即使采用aof的持久化策略,一旦内存崩溃,也会至少丢失一秒的数据
Redis详细用法的更多相关文章
- Redis详细使用及结合SpringBoot
今天咱来聊一下Redis五种数据类型的详细用法以及在代码中如何使用.废话不多说,开始! Redis五种数据类型: string:字符串对象 list:列表对象 hash:散列 set:集合 zset: ...
- C#播放声音的四种方法 +AxWindowsMediaPlayer的详细用法
C#播放声音的四种方法 第一种是利用DirectX 1.安装了DirectX SDK(有9个DLL文件).这里我们只用到MicroSoft.DirectX.dll和 Microsoft.Directx ...
- 在DOS下的DEBUG命令的详细用法
在DOS下的DEBUG命令的详细用法 名称 解释 格式 a (Assemble) 逐行汇编 a [address] c (Compare) 比较两内存块 c range address d (Dump ...
- __declspec关键字详细用法
__declspec关键字详细用法 __declspec用于指定所给定类型的实例的与Microsoft相关的存储方式.其它的有关存储方式的修饰符如static与extern等是C和C++语言的ANSI ...
- CString.Format的详细用法(转)
CString.Format的详细用法(转) 在MFC程序中,使用CString来处理字符串是一个很不错的选择.CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串.CS ...
- IFRAM的详细用法
IFRAM的详细用法: IFRAM的详细用法: <IFRAME>用于设置文本或图形的浮动图文框或容器. BORDER <IFRAME BORDER="3"& ...
- 【转】java.util.vector中的vector的详细用法
[转]java.util.vector中的vector的详细用法 ArrayList会比Vector快,他是非同步的,如果设计涉及到多线程,还是用Vector比较好一些 import java.uti ...
- redis基本用法
java连接redis基本用法 package Redis; import java.util.HashMap; import java.util.List; import java.uti ...
- DOM Style样式对象的详细用法
DOM Style样式对象的详细用法 HTML Style样式比较复杂,相应访问.修改方法也有所差异.参考相关资料,整理如下. 典型Html文件如下,有三种定义方式. <head> ...
随机推荐
- Ajax表单提交给C#后台选中的checkbox值
HTML页面: <input name="payWay" type="checkbox" value="1" /> <i ...
- 公司C++规范学习
目录 公司C++规范学习 语法部分 风格/约定 公司C++规范学习 语法部分 class和struct关键字的选择:class表示被封装的用户自定义类型,不公开定义非静态数据成员,struct表示数据 ...
- 深信达加密下禁用IME
1.控制面板 2.管理工具 3.计算机管理 4.系统工具 5.任务计划程序 6.任务计划程序库 7.Microsoft 8.Windows 9.TextServicesFramework 10.MsC ...
- linux配置mysql数据库远程连接失败
今天配置linux下mysql数据库可以远程访问的问题,百度这方面的资料有很多,但是方法都一样,都试过了却未能解决,记录一下 第一步:在/etc/mysql/my.cnf下找到bind-address ...
- Educational Codeforces Round 69 (Rated for Div. 2) A~D Sloution
A. DIY Wooden Ladder 题意:有一些不能切的木板,每个都有一个长度,要做一个梯子,求梯子的最大台阶数 做梯子的木板分为两种,两边的两条木板和中间的若干条台阶木板 台阶数为 $k$ 的 ...
- Quartz的简单使用
一.Quartz 介绍 Quartz是Java领域最著名的.功能丰富的.开放源码的作业调度工具,几乎可以在所有的Java应用程序中集成--从小的单机应用到大的电子商务系统. Quartz可以用来执行成 ...
- PCA算法和实例
PCA算法 算法步骤: 假设有m条n维数据. 1. 将原始数据按列组成n行m列矩阵X 2. 将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值 3. 求出协方差矩阵C=1/mXXT 4. ...
- surpace pro 检测维修记录
1.大陆不在全球联保范围内. 2.不要升级系统(win 10 1709)容易键盘失去反应. 3.不要乱安装系统,官方有回复镜像包,记住系列号, 4.大陆没有维修的点,有问题着官方服务, 5.uefi设 ...
- 公私钥,数字证书,https
1.密钥对,在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的. 2.公钥,公钥用来给数据加密,用公钥加密的数据只能使用私钥解密. 3.私 ...
- jsp中引入js文件缓存问题解决
加上版本UUID <script charset="utf-8" src="${basePath}js/souke/soukegalist.js?v=<%=U ...