Yes. Delta actually explicitly refreshes the dataframe cache after performing delete.
Use this code to test it out.
Seq((0,"A"), (1,"B"),(2,"C") ).toDF("id","value").write.format("delta").mode("overwrite").saveAsTable("target_tbl")
val df = spark.sql("select * from target_tbl")
df.persist()
df.show()
spark.sql("delete from target_tbl where id = 2")
df.show()
df.unpersist()
Output:
+---+-----+
| id|value|
+---+-----+
| 0| A|
| 2| C|
| 1| B|
+---+-----+
+---+-----+
| id|value|
+---+-----+
| 0| A|
| 1| B|
+---+-----+