Redis

服务端和客户端命令

服务端

服务器端口命令为

redis-server

可以使用help查看帮助文档

redis-server --help

查看redis服务器进程

ps aux|grep redis

杀死redis服务器

sudo kill -9 kid 

客户端

客户端命令

redis-cli --help

连接redis

redis-cli

运行测试命令

ping

切换数据库
数据库没有名称,默认有16个,通过0-15来标识,连接redis默认选择第一个数据库

数据操作

redis是key-value的数据结构,每条数据都是一个键值对
键的类型是字符串
注意:键不能重复
数据类型图
值得类型分为五种:
字符串 string
哈希 hash
列表 list
集合 set
有序集合 zset

string类型

字符串类型是redis中最基础的数据存储类型,在redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据
1.保存
如果设置的健不存在则为添加,如果设置的键已存在则修改
.设置键值

set key value

.设置键值及过期时间以秒为单位

setex key seconds value

.设置多个键值

mset key1 value1 key2 value2

.追加值

append key value

2.获取
.获取:根据键获取值,如果不存在此键则返回nil

get key

.根据多个键获取多个值

mget key1 key2

键命令

.查找键,参数支持正则表达式
.查看所有键

keys *

.查看名称中包含a的键

keys a*

.判断键是否存在,如果存在返回1 不存在返回0

exists key

.查看键对应的值的类型

type key

.删除键及对应的值

del key1 key2

.设置过期时间以秒为单位

expire key seconds

.查看有效时间

ttl key

hash

hash用于存储对象,对象结构为属性,值
值的类型为string
1.增加 修改
.设置单个属性

hset key field value 

例:设置键 user的属性name为itheima

hset user name itheima

.设置多个属性

hset key field1 value1 field2 value2

例:设置键u2的属性name为it、属性age为11

hset u2 name it age 11

2.获取
.获取指定键的所有属性

.hkeys key

例:获取键u2的所有属性

hkeys us

.获取一个属性的值

hget key field

.获取多个属性的值

hget key field1 field2

.获取所有属性的值

hvals key

3.删除
.删除整个hash键和值,使用del命令
删除属性,属性对应的值也会一起删除

hdel key field1 field2

list

1.增加
列表的元素类型为string
.从左侧插入

lpush key value1 value2

.从右侧插入

rpush key value1 value2

.在指定元素前或后插入新元素
.例:在键为a1的列表中元素b前加⼊3

linsert a1 before b 3

2.获取
返回列表里指定范围内的元素
stuar ,stop为元素的下标索引
索引从左侧开始第一个元素为0
索引可以是负数,表示从尾部开始

lrange key start stop

3.设置指定索引位置的元素值
索引从左侧开始,第一个元素为0
索引可以为负数,表示尾部开始计算

lset key 下表索引 新值

例:修改键为a的列表中下标为1的元素值为z

lset a 1 z 

4.删除
删除指定元素
将列表中前count次出现的值为value的元素移除
count >0 从头到尾移除
count <0 从尾到头移除
count = 0 移除所有

lrem key count value 

set

无序集合
元素为string类型
元素具有唯一性不重复性
说明:对于集合没有修改操作
1.增加
添加元素

sadd key valu1 value2

2.获取

smembers key

3.删除指定元素

srem key value

zset

sorted set有序集合
元素为string类型
元素具有唯一不重复性
每个元素都会关联一个double类型的score,表示权重,通过权重将元素进行从小到大排序
说明:没有修改操作
1.增加

zadd key score1 member1 score2 member2

2.获取
指定范围内的元素
start,stop为元素的下标索引
索引从左侧开始,第一个元素为0
索引可以是负数,从尾部开始计算

zrange key start stop

.返回score值在min和max之间的成员

zrangebyscore key min max

.返回成员member的score值

zrange key member

3.删除
.删除指定元素

zrem key member1 member2

.删除权重在指定范围的元素

zremrangebyscore key min max

与python交互

StrictRedis对象方法

引入模块

from redis import StrictRedis

这个模块中提供了StrictRedis对象,⽤于连接redis服务器,并按照不同类型提供 了不同⽅法,进⾏交互操作
通过inin创建对象,指定参数host,port,与指定的服务器和端口连接,host默认是localhost,port默认是6379,db默认是0

sr=StrictRedis(host='localhost',port='6379',db=0)
简写:
sr=StrictRedis()

根据不同类型,用于不同的实例方法可以调应,与redis命令对应,方法需要的参数于命令一致.

例:使用StrictRedis对象对string类型进行增删改查
准备:
在桌面创建redis目录
使用pycharm打开redis目录
创建redis_string.py文件

增加:
方法:set,添加键,,添加成功返回True,失败返回False
from redis import *
if __name__ == '__main__':
	try:
		sr=StrictRedis()
		result=sr.set('name','tom')
		print(result)
	except Exception as e:
		print(e)
创建StrictRedis对象与redis服务器建立连接,使用set方法增加,如果增加成功返回True,未成功返回False		
		
获取:
方法:get,添加键获取对应值,如果键存在返回对应值,如果不存在返回None
if __name__ == '__main__':
	try:
		sr=StrictRedis()
		result=sr.get('name')
		print(result)
	except Exception as e:
 		 print(e)

修改:
方法set,如果键存在则进行修改,如果不存在则添加,输出响应结果,曹祖成功未True,失败为False
if __name__ == '__main__':
 	try:
 		sr=StrictRedis()
  		result=sr.get('name','jack')
  		print(result)
 	except Exception as e:
  		print(e)
  		
删除:
方法delete,删除键和对应的值,如果删除成功返回受影响的键数,否则返回0
if __name__ == '__main__':
  	try:
   		sr=StrictRedis()
    		result=sr.delete('name')
   		 print(result)
 	except Exception as e:
    		print(e)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值