redis笔记2

redis命令操作笔记

5、安装redis:参考安装手册。
下载:
解压:tar -zxvf …
编译:make
需要先安装gcc
编译结果:在redis的安装目录下src目录中,生成redis的一系列可执行文件。
安装:make install
把redis的安装目录下src目录中生成redis的一系列可执行文件拷贝到/usr/local/bin中,
在任何目录下都可以执行redis命令。
6、启动redis服务:
1)前台启动:在任何目录下执行 redis-server
2)后台启动:在任何目录下执行 redis-server &
3)启动redis服务时,指定配置文件:redis-server redis.conf &
7、关闭redis服务:
1)、通过kill命令:
ps -ef|grep redis查看pid
kill -9 pid
2)、通过redis-cli命令关闭:
redis-cli shutdown
8、redis的客户端:用来连接redis服务,向redis服务端发送命令,并且显示redis服务处理结果。
redis-cli:是redis自带客户端,使用命令redis-cli就可以启动redis的客户端程序。

./mysql -uroot -p

redis-cli:默认连接127.0.0.1(本机)的6379端口上的redis服务。
redis-cli -p 端口号:连接127.0.0.1(本机)的指定端口上的redis服务。
redis-cli -h ip地址 -p 端口:连接指定ip主机上的指定端口的redis服务。
9、退出客户端:在客户端执行命令:exit或者quit

10、redis的基本知识: 比mysql操作简单,但是问题是命令太琐碎
1)、测试redis服务的性能:
set key value [EX seconds] [PX milliseconds] [NX|XX]
2)、查看redis服务是否正常运行:
ping 如果正常—pong
3)、查看redis服务器的统计信息:
info 查看redis服务的所有统计信息,出现很多内容
info [信息段] 查看redis服务器的指定的统计信息,如:info Replication(集群)
理解这个4
4)、redis的数据库实例:创建一个数据库,是一个数据库实例。作用类似于mysql的数据库实例,毕竟两家数据库由不同的数据库公司开发出来,mysql自己创建,自己维护。redis中的数据库实例只能由redis服务来创建和维护,开发人员不能修改和自行创建数据库实例,改名都不能改;默认情况下,redis会自动创建16个数据库实例,并且给这些数据库实例进行编号,从0开始,一直到15,使用时通过编号来使用数据库;可以通过配置文件,指定redis自动创建的数据库个数;redis的每一个数据库实例本身占用的存储空间是很少的,所以也不造成存储空间的太多浪费。
默认情况下,redis客户端连接的是编号是0的数据库实例,肯定从头开始啊;可以使用select index(数据库标号),select 15切换数据库实例。
5)、查看当前数据库实例中所有key的数量:dbsize w是0,l是4 新创建是会给你自动添加几条
6)、查看当前数据库实例中所有的key:keys * (一个空格隔开)
7)、清空数据库实例:flushdb 清空某一个数据库实例的全部数据,
8)、清空所有的数据库实例:flushall
9)、查看redis中所有的配置信息:config get * 查看全部的配置信息,太多 *表示全部信息,修改服务端的端口号,客户端连接不上。以为客户端默认6379 需要redis-cil -p 6380
查看redis中的指定的配置信息:config get parameter(参数) 只查看端口号
11、Redis的五种数据结构:
针对数据的不同数据类型对应
  程序是用来处理数据的,Redis是用来存储数据的;程序处理完的数据要存储到redis中,
不同特点的数据要存储在Redis中不同类型的数据结构中。

string类型
  zhangsan  20   true     string  单key:单value: username:zhangsan age:20

  list列表: 13900009999  zs@163.com  321321   有序
 list   单key:多有序value: contacts:13900009999,xxx,xxxx  

set集合:  beijing shanghai chongqing tianjin     无序,比若说存直辖市
 set    单key:多无序value:city:bj sh cq tj

pojo:     id:1001,name:zhangsan,age:20    java对象带有有很多属性。   

hash   单key: 对象(属性:值):student:id:1001,name:zhangsan,age:20

 zset   单key:多有序vlaue:city:  1000 tj,1200 cq,1500 sh,200
	  0 bj

List按照放的顺序,zset按照某规则自动排,跟怎么放没关系。介于set list 之间

12、redis中的操作命令:相当于mysql里的sql语句, 每一个命令都有自己的用法
1)、redis中有关key的操作命令:对key操作实际上就是对这条数据操作
a)查看(当前)数据库中的key:keys pattern
|->:匹配0个或者多个字符
|->?: 匹配1个字符
|->[]:匹配[]里边的1个字符
keys :查看数据库中所有的key
keys k
:查看数据库中所有以k开头的key
keys h
o:查看数据库中所有以h开头、以o结尾的key
keys h?o: 查看数据库中所有以h开头、以o结尾的、并且中间只有一个字符的key
keys h[abc]llo:查看数据库中所有以h开头以llo结尾,并且h后边只能取abc中的一个字符的key,[]括号取其一,看看有没有要操作的那一批
b)判断key在数据库中是否存在:exists key 如果存在,则返回1;如果不存在,则返回0
判断指定的key是和否存在 exists key [key key …] 返回值是存在的key的数量 ,
exists k1
exists k1 k2 k3 hello
c)移动指定key到指定的数据库实例:move key index
move k 1(命令用的不多)
d)查看指定key的剩余生存时间:ttl key
|->如果key没有设置生存时间,返回-1
|->如果key不存在,返回-2
ttl k1
ttl k2
e)设置key的最大生存时间:expire key seconds
expire k2 20
f)查看指定key的数据类型:type key
type k1
g)重命名key: rename key newkey
rename hello k2
h)删除指定的key:del key [key key …]
|->返回值是实际删除的key的数量
del k1 k2 k3 k4
2)、redis中有关string类型数据的操作命令:
a)将string类型的数据设置到redis中:set 键 值
set zsname zhangsan
set zsage 20
set totalRows 100
set zsage 30 如果key已经存在,则后来的value会把以前的value覆盖掉.
b)从redis中获取string类型的数据:get 键
get zsname
get zsage
get totalRows
c)追加字符串:append key value
|->返回追加之后的字符串长度
|->如果key不存在,则新创建一个key,并且把value值设置为value。
set phone 1389999
append phone 8888
d)获取字符串数据的长度:strlen key
strlen phone
e)将字符串数值进行加1运算:incr key
|->返回加1运算之后的数据
|->如果key不存在,首先设置一个key,值初始化为0,然后进行incr运算。
|->要求key所表示value必须是数值,否则,报错
incr zsage
incr age
incr zsname 报错
f)将字符串数值进行减1运算:decr key
|->返回减1运算之后的数据
|->如果key不存在,首先设置一个key,值初始化为0,然后进行decr运算。
|->要求key所表示value必须是数值,否则,报错
g)将字符串数值进行加offset运算:incrby key offset
|->返回加offset运算之后的数据
|->如果key不存在,首先设置一个key,值初始化为0,然后进行incrby运算。
|->要求key所表示value必须是数值,否则,报错
incrby zsage 10
h)将字符串数值进行减offset运算:decrby key offset
|->返回减offset运算之后的数据
|->如果key不存在,首先设置一个key,值初始化为0,然后进行decrby运算。
|->要求key所表示value必须是数值,否则,报错
decrby zsage 10
i)闭区间获取字符串key中从startIndex到endIndex的字符组成的子字符串:getrange key startIndex endIndex
|->下标自左至右,从0开始,依次往后,最后一个字符的下标是字符串长多-1;
|->字符串中每一个下标也可以是负数,负下标表示自右至左,从-1开始,依次往前,最右边一个字符的下标是-1
zhangsan
getrange zsname 2 5 angs
getrange zsname 2 -3 angs
getrange zsname 0 -1 zhangsan
j)用value覆盖从下标为startIndex开始的字符串,能覆盖几个字符就覆盖几个字符:setrange key startIndex value
setrange zsname 5 xiaosan //zhangxiaosan
setrange zsname 5 lao //zhanglaoosan
k)设置字符串数据的同时,设置它最大生命周期:setex key seconds value
setex k1 20 v1
l)设置string类型的数据value到redis数据库中,当key不存在时设置成功,否则,则放弃设置:setnx key value
setnx zsage 20
m)批量将string类型的数据设置到redis中:mset 键1 值1 键2 值2 …
mset k1 v1 k2 v2 k3 v3 k4 v4 k5 v5
n)批量从redis中获取string类型的数据:mget 键1 键2 键3…
mget k1 k2 k3 k4 k5 k6 zsname zs age totalRows
o)批量设置string类型的数据value到redis数据库中,当所有key都不存在时设置成功,否则(只要有一个已经存在),则全部放弃设置:msetnx 键1 值1 键2 值2 …
msetnx kk1 vv1 kk2 vv2 kk3 vv3 k1 v1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值