【redis】redis使用 基本操作

Redis

#Redis和Memcached统称为缓存

#Redis又被称为非关系型数据库

Memcached 是一个只使用内存的软件
特性:只能存储字符串类型
优点:是速度极其的快
缺点:计算机宕机,数据全部被去除

Redis 为什么能火起来? 免费
特性:以字符串类型为基础,衍生了很多其它类型
优点:可以使用内存(临时存储),也可以使用硬盘(永久存储)
缺点:速度相对于Memcached来说比较慢

#redis桌面图形
Redis Desktop Manager
#官网提供3个版本,win,Linux,MacOS

Linux中管理Redis

#我们使用oneinstack安装的redis
#默认路径
/usr/local/redis/etc
#在etc可以看见端口 6379


#配置远程链接
#参数 绑定某个地址,如果bind 127.0.0.1没有被注释,那么不能进行远程访问
bind 127.0.0.1 ::1
#参数 受保护的,默认值是yes
protected-mode no
#守护进程  改为yes,在后台运行
daemonize yes
#验证的密码
requirepass 密码

#当配置项修改完毕以后,需要重启
service redis-server restart|start|stop|status

#进入redis终端
redis-cli --raw
#需要验证是否连接通畅
ping
#如果返回(error) NOAUTH Authentication required.
auth 密码
#返回pong代表连接成功

#redis中一共有16个数据库,默认是0-15
#选择数据库
select 0 (默认)

#退出
exit|quit

1.String

String是redis中最基本的数据类型,最大可以存储512M(这个值是可以设置的)
String类型是二进制的,可以存储图片,存储数字,序列化....
  • 设置
1.设置键和值
set key value
#案例:存储一个邮箱
set email [email protected]
#在图形界面化有有一个TTL:-1(代表永久花存储)

2.设置带有过期时间的键和值
setex key seconds value

3.一次性设置多个键和值
mset key value [key value...]
  • 获取
1.获取一个值
get key

2.一次性获取多个
mget key [key...]
  • 运算
1.自加一
incr key

2.自减一
decr key

3.一次性加上一个数
incrby key intnum

4.一次性减去一个数
decrby key intnum
  • 常数字符串
1.追加值(返回的是一个长度)
append key value

2.查看字符串的长度
strlen key

2.key

1.查找key,支持正则
keys 'pattern'

2.判读键是否存在,返回的是bool值
exists key 

3.查看键对应值的类型
type key

4.删除键,返回bool值
del key [key...]

5.设置生命周期,-1是永久的,-2是过期
expire key seconds

6.查看过期时间长度
ttl key

3.hash

python的字典就是一个hash类型

hash象一个序列,但不是序列,在计算机中是一个特殊的存储结构,它的特性是键值对,hash是一个整体
  • 设置
1.设置单个值
hset key field value

2.设置多个值
hmset key field value [field value ...]
  • 获取
1.获取一个值
hget key field

2.获取多个值
hmget key field [field...]

3.获取所有的键和值
hgetall key

4.获取所有的字段|属性
hkeys key

5.获取所有的值
hvals key

6.返回包含元素的长度
hlen key
  • 其它
1.判断某个字段或者属性存不存在
hexists key field

2.删除属性
hdel key field

3.返回某一个属性的长度
hstrlen key field

4.list

链表:按照一定的顺序进行排序
  • 设置
1.从头部插入
lpush key values

2.从尾部插入
rpush key values

3.在指定的位置进行插入
linsert key after|before pivot value

4.设置指定的索引的值
lset key index value
#list的索引从0开始,-1代表最后一个位置
  • 获取
#选择范围
lrange key start end


#弹出以后的数据,就被删除了
lpop key
rpop key
  • 其它
1.裁剪链表
ltrim key start end

2.查看链表的长度
llen key

3.返回指定索引位置的值
lindex key index

5.set

set:无序集合,集合的值是唯一的
  • 设置
#添加元素
sadd key member [member...]
  • 获取
#获取所有的元素
smembers key

#返回集合元素的个数
scard key
  • 其它
1.求多个集合的交集
sinter key key [key...]

2.求多个集合的差集,返回左边集合的差集
sdiff key key [key...]

3.求多个集合的并集
sunion key key [key...]

4.判断元素是否在集合中,返回的是bool值
sismember key member

6.zset

zset:有序集合,
特性:
1.可以进行排序,权重(score)排序法
2.元素不能重复
  • 设置
#添加值
zadd key score member
  • 获取
1.返回指定范围
zrange key start end

2.返回zset的元素长度
zcard key

3.返回权重大小之间的值的元素个数
zcount key min max

4.返回某个元素的权重
zscore key member

7.python-redis

pip install redis
  • 单入口连接
import redis

#连接远程的redis服务器
conn = redis.Redis(host='10.11.58.103',port=6379,db=0,decode_responses=True,password='123456')

# #设置一个string
conn.set('name','tom')

#获取值
print(conn.get('name'))

  • 连接池
import redis

#创建一个连接池
#每次都会进行链接,避免做重复的建立和释放,我们使用连接池自动管理
#redis会产生多少个实例,让多个实例共享一个连接池
pool = redis.ConnectionPool(host='10.11.58.103',password='123456',port=6379,decode_responses=True,db=0)

#实例化redis
res = redis.Redis(connection_pool=pool)

res.hmset('abc',{'a':1,'b':2})

发布了116 篇原创文章 · 获赞 10 · 访问量 1369

猜你喜欢

转载自blog.csdn.net/weixin_44727383/article/details/104954169